org.objectweb.speedo.generation.enhancer.pc.jdo
Class JDOImplRegistrationAdder

java.lang.Object
  extended by org.objectweb.asm.ClassAdapter
      extended by org.objectweb.speedo.generation.enhancer.common.LoggedClassAdapter
          extended by org.objectweb.speedo.generation.enhancer.pc.jdo.JDOImplRegistrationAdder
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor, org.objectweb.asm.Constants

public class JDOImplRegistrationAdder
extends LoggedClassAdapter

Add the registration to the JDOImplHelper in a static code area The added code use the class$(String)Class method and the field class$classname which can exist or not. Therefore they are added if they do not already exist.

Author:
S.Chassande-Barrioz

Field Summary
 
Fields inherited from class org.objectweb.speedo.generation.enhancer.common.LoggedClassAdapter
debug, logger, personality
 
Fields inherited from class org.objectweb.asm.ClassAdapter
cv
 
Fields inherited from interface org.objectweb.asm.Constants
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, V1_1, V1_2, V1_3, V1_4, V1_5
 
Constructor Summary
JDOImplRegistrationAdder(org.objectweb.asm.ClassVisitor classVisitor, java.lang.String className, org.objectweb.util.monolog.api.Logger logger)
           
 
Method Summary
 boolean isGenerationAllowed()
           
 void setGenerationAllowed(boolean v)
           
 void visit(int version, int access, java.lang.String name, java.lang.String superName, java.lang.String[] interfaces, java.lang.String sourceFile)
           
 void visitEnd()
           
 void visitField(int i, java.lang.String s, java.lang.String s1, java.lang.Object o, org.objectweb.asm.Attribute attribute)
           
 org.objectweb.asm.CodeVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String[] exceptions, org.objectweb.asm.Attribute attrs)
           
 
Methods inherited from class org.objectweb.speedo.generation.enhancer.common.LoggedClassAdapter
getJVMClassName, getJVMClassName, getJVMType, getJVMType, getJVMType, getLogger, setLogger
 
Methods inherited from class org.objectweb.asm.ClassAdapter
visitAttribute, visitInnerClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDOImplRegistrationAdder

public JDOImplRegistrationAdder(org.objectweb.asm.ClassVisitor classVisitor,
                                java.lang.String className,
                                org.objectweb.util.monolog.api.Logger logger)
Method Detail

isGenerationAllowed

public boolean isGenerationAllowed()

setGenerationAllowed

public void setGenerationAllowed(boolean v)

visit

public void visit(int version,
                  int access,
                  java.lang.String name,
                  java.lang.String superName,
                  java.lang.String[] interfaces,
                  java.lang.String sourceFile)
Specified by:
visit in interface org.objectweb.asm.ClassVisitor
Overrides:
visit in class org.objectweb.asm.ClassAdapter

visitField

public void visitField(int i,
                       java.lang.String s,
                       java.lang.String s1,
                       java.lang.Object o,
                       org.objectweb.asm.Attribute attribute)
Specified by:
visitField in interface org.objectweb.asm.ClassVisitor
Overrides:
visitField in class org.objectweb.asm.ClassAdapter

visitMethod

public org.objectweb.asm.CodeVisitor visitMethod(int access,
                                                 java.lang.String name,
                                                 java.lang.String desc,
                                                 java.lang.String[] exceptions,
                                                 org.objectweb.asm.Attribute attrs)
Specified by:
visitMethod in interface org.objectweb.asm.ClassVisitor
Overrides:
visitMethod in class org.objectweb.asm.ClassAdapter

visitEnd

public void visitEnd()
Specified by:
visitEnd in interface org.objectweb.asm.ClassVisitor
Overrides:
visitEnd in class org.objectweb.asm.ClassAdapter