Opcode
TransformBefore
public class TransformCall extends Transformer
Modifier and Type | Field | Description |
---|---|---|
protected java.lang.String |
classname |
|
protected ConstPool |
constPool |
|
protected java.lang.String |
methodDescriptor |
|
protected java.lang.String |
methodname |
|
protected java.lang.String |
newClassname |
|
protected int |
newIndex |
|
protected boolean |
newMethodIsPrivate |
|
protected java.lang.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,
java.lang.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 java.lang.String classname
protected java.lang.String methodname
protected java.lang.String methodDescriptor
protected java.lang.String newClassname
protected java.lang.String newMethodname
protected boolean newMethodIsPrivate
protected int newIndex
protected ConstPool constPool
public TransformCall(Transformer next, CtMethod origMethod, CtMethod substMethod)
public TransformCall(Transformer next, java.lang.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.