|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.objectweb.asm.MethodAdapter
org.objectweb.asm.commons.LocalVariablesSorter
org.objectweb.asm.commons.GeneratorAdapter
org.apache.felix.ipojo.manipulation.ConstructorCodeAdapter
public class ConstructorCodeAdapter
Constructor Adapter. This class adds an instance manager argument (so switch variable index). Moreover, it adapts field accesses to delegate accesses to the instance manager if needed.
| Field Summary | |
|---|---|
private java.util.Set |
m_fields
Set of contained fields. |
private java.lang.String |
m_owner
The class containing the field. |
private boolean |
m_superDetected
Is the super call detected ? |
| Fields inherited from class org.objectweb.asm.commons.GeneratorAdapter |
|---|
ADD, AND, DIV, EQ, GE, GT, LE, LT, MUL, NE, NEG, OR, REM, SHL, SHR, SUB, USHR, XOR |
| Fields inherited from class org.objectweb.asm.commons.LocalVariablesSorter |
|---|
firstLocal, nextLocal |
| Fields inherited from class org.objectweb.asm.MethodAdapter |
|---|
mv |
| Fields inherited from interface org.objectweb.asm.Opcodes |
|---|
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, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, 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, INTEGER, 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, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, 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, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6 |
| Constructor Summary | |
|---|---|
ConstructorCodeAdapter(org.objectweb.asm.MethodVisitor mv,
java.lang.String owner,
java.util.Set fields,
int access,
java.lang.String name,
java.lang.String desc)
PropertyCodeAdapter constructor. |
|
| Method Summary | |
|---|---|
org.objectweb.asm.AnnotationVisitor |
visitAnnotation(java.lang.String name,
boolean visible)
Visits an annotation. |
void |
visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
Adapts field accesses. |
void |
visitIincInsn(int var,
int increment)
Visits an increment instruction. |
void |
visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
int index)
Visits a local variable. |
void |
visitMaxs(int maxStack,
int maxLocals)
Visit max method. |
void |
visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
Visits a method invocation instruction. |
void |
visitVarInsn(int opcode,
int var)
Visits a variable instruction. |
| Methods inherited from class org.objectweb.asm.commons.GeneratorAdapter |
|---|
arrayLength, arrayLoad, arrayStore, box, cast, catchException, checkCast, dup, dup2, dup2X1, dup2X2, dupX1, dupX2, endMethod, getField, getLocalType, getStatic, goTo, ifCmp, ifICmp, ifNonNull, ifNull, ifZCmp, iinc, instanceOf, invokeConstructor, invokeInterface, invokeStatic, invokeVirtual, loadArg, loadArgArray, loadArgs, loadArgs, loadLocal, loadLocal, loadThis, mark, mark, math, monitorEnter, monitorExit, newArray, newInstance, newLabel, not, pop, pop2, push, push, push, push, push, push, push, putField, putStatic, ret, returnValue, setLocalType, storeArg, storeLocal, storeLocal, swap, swap, tableSwitch, tableSwitch, throwException, throwException, unbox |
| Methods inherited from class org.objectweb.asm.commons.LocalVariablesSorter |
|---|
newLocal, visitFrame |
| Methods inherited from class org.objectweb.asm.MethodAdapter |
|---|
visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLookupSwitchInsn, visitMultiANewArrayInsn, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private java.lang.String m_owner
private boolean m_superDetected
private java.util.Set m_fields
| Constructor Detail |
|---|
public ConstructorCodeAdapter(org.objectweb.asm.MethodVisitor mv,
java.lang.String owner,
java.util.Set fields,
int access,
java.lang.String name,
java.lang.String desc)
mv - the MethodVisitorowner - the name of the classfields - the list of contained fieldsaccess - the constructor accessdesc - the constructor descriptorname - the name| Method Detail |
|---|
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String name,
boolean visible)
visitAnnotation in interface org.objectweb.asm.MethodVisitorvisitAnnotation in class org.objectweb.asm.MethodAdaptername - the name of the annotationvisible - the annotation visibility
null if the annotation is visible, otherwise returns
MethodAdapter.visitAnnotation(String, boolean)MethodAdapter.visitAnnotation(java.lang.String, boolean)
public void visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
GETFIELD are changed to a __getX invocation.SETFIELD are changed to a __setX invocation.
visitFieldInsn in interface org.objectweb.asm.MethodVisitorvisitFieldInsn in class org.objectweb.asm.MethodAdapteropcode - the visited operation codeowner - the owner of the fieldname - the name of the fielddesc - the descriptor of the fieldMethodVisitor.visitFieldInsn(int, String, String, String)
public void visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
visitMethodInsn in interface org.objectweb.asm.MethodVisitorvisitMethodInsn in class org.objectweb.asm.MethodAdapteropcode - the opcodeowner - the class owning the invoked methodname - the method namedesc - the method descriptorMethodAdapter.visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String)
public void visitVarInsn(int opcode,
int var)
this (i.e. 0). This increment
is due to the instance manager parameter added in the method
signature.
visitVarInsn in interface org.objectweb.asm.MethodVisitorvisitVarInsn in class org.objectweb.asm.commons.LocalVariablesSorteropcode - the opcodevar - the variable indexMethodAdapter.visitVarInsn(int, int)
public void visitIincInsn(int var,
int increment)
this (i.e. 0). This increment
is due to the instance manager parameter added in the method
signature.
visitIincInsn in interface org.objectweb.asm.MethodVisitorvisitIincInsn in class org.objectweb.asm.commons.LocalVariablesSortervar - the variable indexincrement - the incrementMethodAdapter.visitIincInsn(int, int)
public void visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
int index)
this and
has the 1 index.
visitLocalVariable in interface org.objectweb.asm.MethodVisitorvisitLocalVariable in class org.objectweb.asm.commons.LocalVariablesSortername - the variable namedesc - the variable descriptorsignature - the variable signaturestart - the beginning labelend - the ending labelindex - the variable indexMethodAdapter.visitLocalVariable(java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int)
public void visitMaxs(int maxStack,
int maxLocals)
visitMaxs in interface org.objectweb.asm.MethodVisitorvisitMaxs in class org.objectweb.asm.commons.LocalVariablesSortermaxStack - the stack size.maxLocals - the local variable count.MethodAdapter.visitMaxs(int, int)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||