|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.asm.ClassAdapter
org.jvnet.lafwidget.ant.ContainerGhostingAugmenter.AugmentClassAdapter
protected class ContainerGhostingAugmenter.AugmentClassAdapter
Adapter for augmenting a single class.
Field Summary |
---|
Fields inherited from class org.objectweb.asm.ClassAdapter |
---|
cv |
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, 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, V1_6 |
Constructor Summary | |
---|---|
ContainerGhostingAugmenter.AugmentClassAdapter(org.objectweb.asm.ClassVisitor cv,
java.util.Set<java.lang.String> existingMethods,
java.util.Set<java.lang.String> existingFields,
java.lang.reflect.Method methodToAugment,
boolean toInjectAfterOriginal)
Creates a new augmentor. |
Method Summary | |
---|---|
void |
augmentUpdateMethodAfter(boolean toSynthOriginal,
java.lang.String className,
java.lang.String superClassName,
java.lang.String methodDesc)
Augments the update method that is assumed to always
have two parameters, injecting the ghosting code after the
original implementation. |
void |
augmentUpdateMethodBefore(boolean toSynthOriginal,
java.lang.String className,
java.lang.String superClassName,
java.lang.String methodDesc)
Augments the update method that is assumed to always
have two parameters, injecting the ghosting code before the
original implementation. |
void |
visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces)
|
org.objectweb.asm.MethodVisitor |
visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.String[] exceptions)
|
Methods inherited from class org.objectweb.asm.ClassAdapter |
---|
visitAnnotation, visitAttribute, visitEnd, visitField, visitInnerClass, visitOuterClass, visitSource |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ContainerGhostingAugmenter.AugmentClassAdapter(org.objectweb.asm.ClassVisitor cv, java.util.Set<java.lang.String> existingMethods, java.util.Set<java.lang.String> existingFields, java.lang.reflect.Method methodToAugment, boolean toInjectAfterOriginal)
cv
- Class visitor to recreate the non-augmented methods.existingMethods
- Contains all method names.existingFields
- Contains all field names.methodToAugment
- Method to augment.toInjectAfterOriginal
- true
if the code needs to be injected after
the call to the original implementation.Method Detail |
---|
public void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
visit
in interface org.objectweb.asm.ClassVisitor
visit
in class org.objectweb.asm.ClassAdapter
public void augmentUpdateMethodBefore(boolean toSynthOriginal, java.lang.String className, java.lang.String superClassName, java.lang.String methodDesc)
update
method that is assumed to always
have two parameters, injecting the ghosting code before the
original implementation.
toSynthOriginal
- Indication whether we need to create an empty (only call
to super()) implementation.className
- Class name.superClassName
- Super class name (relevant for generating empty
implementation).methodDesc
- Function signature (using JNI style declaration). Example
for void installUI(JButton button)
:
(Ljavax/swing/JButton;)V
.public void augmentUpdateMethodAfter(boolean toSynthOriginal, java.lang.String className, java.lang.String superClassName, java.lang.String methodDesc)
update
method that is assumed to always
have two parameters, injecting the ghosting code after the
original implementation.
toSynthOriginal
- Indication whether we need to create an empty (only call
to super()) implementation.className
- Class name.superClassName
- Super class name (relevant for generating empty
implementation).methodDesc
- Function signature (using JNI style declaration). Example
for void installUI(JButton button)
:
(Ljavax/swing/JButton;)V
.public org.objectweb.asm.MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
visitMethod
in interface org.objectweb.asm.ClassVisitor
visitMethod
in class org.objectweb.asm.ClassAdapter
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |