Opcode
TransformBefore
public class TransformCall extends Transformer
Modifier and Type | Field | Description |
---|---|---|
protected String |
classname |
|
protected ConstPool |
constPool |
|
protected String |
methodDescriptor |
|
protected String |
methodname |
|
protected String |
newClassname |
|
protected int |
newIndex |
|
protected boolean |
newMethodIsPrivate |
|
protected String |
newMethodname |
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 | Description |
---|---|
TransformCall(Transformer next,
String oldMethodName,
CtMethod substMethod) |
|
TransformCall(Transformer next,
CtMethod origMethod,
CtMethod substMethod) |
Modifier and Type | Method | Description |
---|---|---|
void |
initialize(ConstPool cp,
CodeAttribute attr) |
|
protected int |
match(int c,
int pos,
CodeIterator iterator,
int typedesc,
ConstPool cp) |
|
int |
transform(CtClass clazz,
int pos,
CodeIterator iterator,
ConstPool cp) |
Modify INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC and INVOKEVIRTUAL
so that a different method is invoked.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clean, extraLocals, extraStack, getNext, initialize
protected String classname
protected String methodname
protected String methodDescriptor
protected String newClassname
protected String newMethodname
protected boolean newMethodIsPrivate
protected int newIndex
protected ConstPool constPool
public TransformCall(Transformer next, CtMethod origMethod, CtMethod substMethod)
public TransformCall(Transformer next, String oldMethodName, CtMethod substMethod)
public void initialize(ConstPool cp, CodeAttribute attr)
initialize
in class Transformer
public int transform(CtClass clazz, int pos, CodeIterator iterator, ConstPool cp) throws BadBytecode
classname
. This method transforms the instruction
in that case unless the subclass overrides the target method.transform
in class Transformer
BadBytecode
protected int match(int c, int pos, CodeIterator iterator, int typedesc, ConstPool cp) throws BadBytecode
BadBytecode
Copyright © 2018 Shigeru Chiba, www.javassist.org. All rights reserved.