Package javassist.convert
Class TransformCall
java.lang.Object
javassist.convert.Transformer
javassist.convert.TransformCall
- All Implemented Interfaces:
Opcode
- Direct Known Subclasses:
TransformBefore
,TransformCallToStatic
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
protected ConstPool
protected String
protected String
protected String
protected int
protected boolean
protected String
Fields inherited from interface javassist.bytecode.Opcode
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, 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, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, 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, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMUL, INEG, INSTANCEOF, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, STACK_GROW, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, WIDE
-
Constructor Summary
ConstructorsConstructorDescriptionTransformCall
(Transformer next, String oldMethodName, CtMethod substMethod) TransformCall
(Transformer next, CtMethod origMethod, CtMethod substMethod) -
Method Summary
Modifier and TypeMethodDescriptionvoid
initialize
(ConstPool cp, CodeAttribute attr) protected int
match
(int c, int pos, CodeIterator iterator, int typedesc, ConstPool cp) private boolean
matchClass
(String name, ClassPool pool) int
transform
(CtClass clazz, int pos, CodeIterator iterator, ConstPool cp) Modify INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC and INVOKEVIRTUAL so that a different method is invoked.Methods inherited from class javassist.convert.Transformer
clean, extraLocals, extraStack, getNext, initialize
-
Field Details
-
classname
-
methodname
-
methodDescriptor
-
newClassname
-
newMethodname
-
newMethodIsPrivate
protected boolean newMethodIsPrivate -
newIndex
protected int newIndex -
constPool
-
-
Constructor Details
-
TransformCall
-
TransformCall
-
-
Method Details
-
initialize
- Overrides:
initialize
in classTransformer
-
transform
public int transform(CtClass clazz, int pos, CodeIterator iterator, ConstPool cp) throws BadBytecode Modify INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC and INVOKEVIRTUAL so that a different method is invoked. The class name in the operand of these instructions might be a subclass of the target class specified byclassname
. This method transforms the instruction in that case unless the subclass overrides the target method.- Specified by:
transform
in classTransformer
- Throws:
BadBytecode
-
matchClass
-
match
protected int match(int c, int pos, CodeIterator iterator, int typedesc, ConstPool cp) throws BadBytecode - Throws:
BadBytecode
-