Package org.pushingpixels.lafwidget.ant
Class UiDelegateUpdateAugmenter.AugmentClassAdapter
- java.lang.Object
-
- org.objectweb.asm.ClassVisitor
-
- org.pushingpixels.lafwidget.ant.UiDelegateUpdateAugmenter.AugmentClassAdapter
-
- All Implemented Interfaces:
org.objectweb.asm.Opcodes
- Enclosing class:
- UiDelegateUpdateAugmenter
protected class UiDelegateUpdateAugmenter.AugmentClassAdapter extends org.objectweb.asm.ClassVisitor implements org.objectweb.asm.OpcodesClass adapter that augments the UI functionality.
-
-
Field Summary
-
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_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASM6, ASM7, 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, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, 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, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V9
-
-
Constructor Summary
Constructors Constructor Description AugmentClassAdapter(org.objectweb.asm.ClassVisitor cv, Set<String> existingMethods, Method updateMethod)Creates a new augmentor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaugmentUpdateMethod(boolean toSynthOriginal, String className, String superClassName, String functionDesc)Augments theupdatemethod that is assumed to always have two parameters.voidvisit(int version, int access, String name, String signature, String superName, String[] interfaces)org.objectweb.asm.MethodVisitorvisitMethod(int access, String name, String desc, String signature, String[] exceptions)
-
-
-
Constructor Detail
-
AugmentClassAdapter
public AugmentClassAdapter(org.objectweb.asm.ClassVisitor cv, Set<String> existingMethods, Method updateMethod)Creates a new augmentor.- Parameters:
cv- Class visitor to recreate the non-augmented methods.existingMethods- Contains all method names.updateMethod- Theupdatemethod to augment.
-
-
Method Detail
-
visit
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)- Overrides:
visitin classorg.objectweb.asm.ClassVisitor
-
augmentUpdateMethod
public void augmentUpdateMethod(boolean toSynthOriginal, String className, String superClassName, String functionDesc)Augments theupdatemethod that is assumed to always have two parameters.- Parameters:
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).functionDesc- Function signature (using JNI style declaration). Example forvoid installUI(JButton button):(Ljavax/swing/JButton;)V.
-
-