org.objectweb.speedo.generation.enhancer.aware
Class PersistenceAwareClassModifier

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.aware.PersistenceAwareClassModifier
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor, org.objectweb.asm.Constants

public class PersistenceAwareClassModifier
extends LoggedClassAdapter

Replaces field accesses by call to getter and setter methods. Adapted from modifyMethods and replaceInstruction in EnhancerTool.


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
PersistenceAwareClassModifier(org.objectweb.asm.ClassVisitor cv, SpeedoMetaInfo smi, org.objectweb.util.monolog.api.Logger logger, Personality p)
           
 
Method Summary
 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
visit, visitAttribute, visitEnd, visitField, visitInnerClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PersistenceAwareClassModifier

public PersistenceAwareClassModifier(org.objectweb.asm.ClassVisitor cv,
                                     SpeedoMetaInfo smi,
                                     org.objectweb.util.monolog.api.Logger logger,
                                     Personality p)
Method Detail

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