Package org.pushingpixels.lafwidget.ant
Class IconGhostingAugmenter.AugmentClassAdapter
java.lang.Object
org.objectweb.asm.ClassVisitor
org.pushingpixels.lafwidget.ant.IconGhostingAugmenter.AugmentClassAdapter
- All Implemented Interfaces:
org.objectweb.asm.Opcodes
- Enclosing class:
- IconGhostingAugmenter
protected class IconGhostingAugmenter.AugmentClassAdapter
extends org.objectweb.asm.ClassVisitor
implements org.objectweb.asm.Opcodes
Adapter for augmenting a single class.
-
Field Summary
Fields inherited from class org.objectweb.asm.ClassVisitor
api, cvFields 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_RECORD, 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, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, 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, V14, V15, V16, V17, V18, V19, V20, V9 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaugmentInstallListeners(boolean toSynthOriginal, String className, String superClassName, String methodName, String functionDesc) Augments theinstallListenersmethod.voidaugmentPaintIconMethod(boolean toSynthOriginal, String className, String superClassName, String methodName, String methodDesc) Augments thepaintIconmethod that is assumed to always have three parameters.voidaugmentUninstallListeners(boolean toSynthOriginal, String className, String superClassName, String methodName, String functionDesc) Augments theuninstallListenersmethod.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) Methods inherited from class org.objectweb.asm.ClassVisitor
getDelegate, visitAnnotation, visitAttribute, visitEnd, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation
-
Constructor Details
-
AugmentClassAdapter
public AugmentClassAdapter(org.objectweb.asm.ClassVisitor cv, Set<String> existingMethods, Set<String> existingFields, Method methodToAugment) Creates a new augmentor.- Parameters:
cv- Class visitor to recreate the non-augmented methods.existingMethods- Contains all method names.existingFields- Contains all field names.methodToAugment- Method to augment.
-
-
Method Details
-
visit
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) - Overrides:
visitin classorg.objectweb.asm.ClassVisitor
-
augmentPaintIconMethod
public void augmentPaintIconMethod(boolean toSynthOriginal, String className, String superClassName, String methodName, String methodDesc) Augments thepaintIconmethod that is assumed to always have three 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).methodName- Method name.methodDesc- Function signature (using JNI style declaration). Example forvoid installUI(JButton button):(Ljavax/swing/JButton;)V.
-
augmentInstallListeners
public void augmentInstallListeners(boolean toSynthOriginal, String className, String superClassName, String methodName, String functionDesc) Augments theinstallListenersmethod.- 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).methodName- Method name.functionDesc- Function signature (using JNI style declaration). Example forvoid installUI(JButton button):(Ljavax/swing/JButton;)V.
-
augmentUninstallListeners
public void augmentUninstallListeners(boolean toSynthOriginal, String className, String superClassName, String methodName, String functionDesc) Augments theuninstallListenersmethod.- 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).methodName- Method name.functionDesc- Function signature (using JNI style declaration). Example forvoid installUI(JButton button):(Ljavax/swing/JButton;)V.
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) - Overrides:
visitMethodin classorg.objectweb.asm.ClassVisitor
-