|
||||||||||
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 |
---|
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, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, 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, V1_7 |
Constructor Summary | |
---|---|
ConstructorCodeAdapter(org.objectweb.asm.MethodVisitor mv,
String owner,
Set fields,
int access,
String name,
String desc,
String superClass)
PropertyCodeAdapter constructor. |
Method Summary | |
---|---|
org.objectweb.asm.AnnotationVisitor |
visitAnnotation(String name,
boolean visible)
Visits an annotation. |
void |
visitFieldInsn(int opcode,
String owner,
String name,
String desc)
Adapts field accesses. |
void |
visitIincInsn(int var,
int increment)
Visits an increment instruction. |
void |
visitLocalVariable(String name,
String desc,
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,
String owner,
String name,
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, invokeDynamic, 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, valueOf |
Methods inherited from class org.objectweb.asm.commons.LocalVariablesSorter |
---|
newLocal, newLocalMapping, 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 |
Constructor Detail |
---|
public ConstructorCodeAdapter(org.objectweb.asm.MethodVisitor mv, String owner, Set fields, int access, String name, String desc, String superClass)
mv
- the MethodVisitorowner
- the name of the classfields
- the list of contained fieldsaccess
- the constructor accessdesc
- the constructor descriptorname
- the nameMethod Detail |
---|
public org.objectweb.asm.AnnotationVisitor visitAnnotation(String name, boolean visible)
visitAnnotation
in interface org.objectweb.asm.MethodVisitor
visitAnnotation
in class org.objectweb.asm.MethodAdapter
name
- 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, String owner, String name, String desc)
GETFIELD
are changed to a __getX
invocation.SETFIELD
are changed to a __setX
invocation.
visitFieldInsn
in interface org.objectweb.asm.MethodVisitor
visitFieldInsn
in class org.objectweb.asm.MethodAdapter
opcode
- 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, String owner, String name, String desc)
visitMethodInsn
in interface org.objectweb.asm.MethodVisitor
visitMethodInsn
in class org.objectweb.asm.MethodAdapter
opcode
- 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.MethodVisitor
visitVarInsn
in class org.objectweb.asm.commons.LocalVariablesSorter
opcode
- 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.MethodVisitor
visitIincInsn
in class org.objectweb.asm.commons.LocalVariablesSorter
var
- the variable indexincrement
- the incrementMethodAdapter.visitIincInsn(int, int)
public void visitLocalVariable(String name, String desc, 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.MethodVisitor
visitLocalVariable
in class org.objectweb.asm.commons.LocalVariablesSorter
name
- 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.MethodVisitor
visitMaxs
in class org.objectweb.asm.commons.LocalVariablesSorter
maxStack
- 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 |