org.objectweb.speedo.generation.enhancer.pc
Class FieldAccessorsAdder

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.AbstractPCModifier
              extended by org.objectweb.speedo.generation.enhancer.pc.FieldAccessorsAdder
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor, org.objectweb.asm.Constants, POVariableNames

public class FieldAccessorsAdder
extends AbstractPCModifier
implements POVariableNames

Generates the speedo accessors (static and normal) for each persistent field of the class. It generates also setter for coherency management of relation.

Author:
S.Chassande-Barrioz

Field Summary
 
Fields inherited from class org.objectweb.speedo.generation.enhancer.pc.AbstractPCModifier
ancestorJCN, classToWrite, JCN_GCPO, JCN_HOME, JCN_JDOPOM, JCN_JDOPOMF, JCN_LIFE_CYCLE, JCN_PO, JCN_POM, JCN_POMF, JCN_STATE, JT_HOME, JT_JDOPOM, JT_JDOPOMF, JT_PO, JT_POM, JT_POMF, JT_STATE, M_SPEEDO_COPY_STATE, M_SPEEDO_CREATE_STATE, M_SPEEDO_GET_HOME, M_SPEEDO_GET_REF_STATE, M_SPEEDO_GET_STATE, M_SPEEDO_GET_STATUS, M_SPEEDO_SET_REF_STATE, scp, speedoClass, xfieldsAncestorJCN, xfieldsAncestorJT, xfieldsJCN, xfieldsJT
 
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.speedo.generation.enhancer.pc.POVariableNames
ENCODEDPNAME_FIELD_NAME, ISACTIVE_FIELD_NAME, REFSTATE_FIELD_NAME
 
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
FieldAccessorsAdder(org.objectweb.asm.ClassVisitor classVisitor, org.objectweb.util.monolog.api.Logger logger, SpeedoClass sc, SpeedoCompilerParameter cp, Personality p)
           
 
Method Summary
 void visit(int version, int access, java.lang.String name, java.lang.String superName, java.lang.String[] interfaces, java.lang.String sourceFile)
           
 
Methods inherited from class org.objectweb.speedo.generation.enhancer.pc.AbstractPCModifier
generateFieldIdAsLongArray, generateGetRefState, getGenerationContext
 
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, visitEnd, visitField, visitInnerClass, visitMethod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FieldAccessorsAdder

public FieldAccessorsAdder(org.objectweb.asm.ClassVisitor classVisitor,
                           org.objectweb.util.monolog.api.Logger logger,
                           SpeedoClass sc,
                           SpeedoCompilerParameter cp,
                           Personality p)
Method Detail

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