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

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
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor, org.objectweb.asm.Constants, POVariableNames
Direct Known Subclasses:
FieldAccessorsAdder, JDOPersistenceCapableAdder, POAdder

public class AbstractPCModifier
extends LoggedClassAdapter
implements POVariableNames

Defines an abstract modifier of the persistence class (PC).

Author:
chassase

Field Summary
protected  java.lang.String ancestorJCN
           
protected  java.lang.String classToWrite
           
static java.lang.String JCN_GCPO
           
static java.lang.String JCN_HOME
           
 java.lang.String JCN_JDOPOM
           
 java.lang.String JCN_JDOPOMF
           
static java.lang.String JCN_LIFE_CYCLE
           
static java.lang.String JCN_PO
           
static java.lang.String JCN_POM
           
static java.lang.String JCN_POMF
           
static java.lang.String JCN_STATE
           
static java.lang.String JT_HOME
           
 java.lang.String JT_JDOPOM
           
 java.lang.String JT_JDOPOMF
           
static java.lang.String JT_PO
           
static java.lang.String JT_POM
           
static java.lang.String JT_POMF
           
static java.lang.String JT_STATE
           
static java.lang.String M_SPEEDO_COPY_STATE
           
static java.lang.String M_SPEEDO_CREATE_STATE
           
static java.lang.String M_SPEEDO_GET_HOME
           
static java.lang.String M_SPEEDO_GET_REF_STATE
           
static java.lang.String M_SPEEDO_GET_STATE
           
static java.lang.String M_SPEEDO_GET_STATUS
           
static java.lang.String M_SPEEDO_SET_REF_STATE
           
protected  SpeedoCompilerParameter scp
           
protected  SpeedoClass speedoClass
           
protected  java.lang.String xfieldsAncestorJCN
           
protected  java.lang.String xfieldsAncestorJT
           
protected  java.lang.String xfieldsJCN
           
protected  java.lang.String 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
AbstractPCModifier(org.objectweb.asm.ClassVisitor classVisitor, org.objectweb.util.monolog.api.Logger logger, SpeedoClass sc, SpeedoCompilerParameter cp, Personality p)
           
 
Method Summary
static void generateFieldIdAsLongArray(AbstractSpeedoGenerator.Field f, int nbField, org.objectweb.asm.CodeVisitor mv)
           
protected  void generateGetRefState(org.objectweb.asm.CodeVisitor mv, boolean needCurrentFields)
           
protected  java.util.Map 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
visit, visitAttribute, visitEnd, visitField, visitInnerClass, visitMethod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JCN_HOME

public static final java.lang.String JCN_HOME

JT_HOME

public static final java.lang.String JT_HOME

JCN_PO

public static final java.lang.String JCN_PO

JT_PO

public static final java.lang.String JT_PO

JCN_STATE

public static final java.lang.String JCN_STATE

JT_STATE

public static final java.lang.String JT_STATE

JCN_POM

public static final java.lang.String JCN_POM

JT_POM

public static final java.lang.String JT_POM

JT_POMF

public static final java.lang.String JT_POMF

JCN_POMF

public static final java.lang.String JCN_POMF

JCN_LIFE_CYCLE

public static final java.lang.String JCN_LIFE_CYCLE

JCN_GCPO

public static final java.lang.String JCN_GCPO

JCN_JDOPOM

public java.lang.String JCN_JDOPOM

JT_JDOPOM

public java.lang.String JT_JDOPOM

JT_JDOPOMF

public java.lang.String JT_JDOPOMF

JCN_JDOPOMF

public java.lang.String JCN_JDOPOMF

M_SPEEDO_GET_STATE

public static final java.lang.String M_SPEEDO_GET_STATE
See Also:
Constant Field Values

M_SPEEDO_CREATE_STATE

public static final java.lang.String M_SPEEDO_CREATE_STATE
See Also:
Constant Field Values

M_SPEEDO_COPY_STATE

public static final java.lang.String M_SPEEDO_COPY_STATE
See Also:
Constant Field Values

M_SPEEDO_GET_REF_STATE

public static final java.lang.String M_SPEEDO_GET_REF_STATE
See Also:
Constant Field Values

M_SPEEDO_SET_REF_STATE

public static final java.lang.String M_SPEEDO_SET_REF_STATE
See Also:
Constant Field Values

M_SPEEDO_GET_HOME

public static final java.lang.String M_SPEEDO_GET_HOME
See Also:
Constant Field Values

M_SPEEDO_GET_STATUS

public static final java.lang.String M_SPEEDO_GET_STATUS
See Also:
Constant Field Values

classToWrite

protected java.lang.String classToWrite

speedoClass

protected SpeedoClass speedoClass

xfieldsJT

protected final java.lang.String xfieldsJT

xfieldsJCN

protected final java.lang.String xfieldsJCN

xfieldsAncestorJCN

protected final java.lang.String xfieldsAncestorJCN

xfieldsAncestorJT

protected final java.lang.String xfieldsAncestorJT

ancestorJCN

protected final java.lang.String ancestorJCN

scp

protected final SpeedoCompilerParameter scp
Constructor Detail

AbstractPCModifier

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

generateGetRefState

protected void generateGetRefState(org.objectweb.asm.CodeVisitor mv,
                                   boolean needCurrentFields)

getGenerationContext

protected java.util.Map getGenerationContext()

generateFieldIdAsLongArray

public static void generateFieldIdAsLongArray(AbstractSpeedoGenerator.Field f,
                                              int nbField,
                                              org.objectweb.asm.CodeVisitor mv)