public class TransformCall extends Transformer
| Modifier and Type | Field and 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 and Description |
|---|
TransformCall(Transformer next,
CtMethod origMethod,
CtMethod substMethod) |
TransformCall(Transformer next,
java.lang.String oldMethodName,
CtMethod substMethod) |
| Modifier and Type | Method and Description |
|---|---|
void |
initialize(ConstPool cp,
CodeAttribute attr) |
protected int |
match(int c,
int pos,
CodeIterator iterator,
int typedesc,
ConstPool cp) |
private boolean |
matchClass(java.lang.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.
|
clean, extraLocals, extraStack, getNext, initializeprotected 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 Transformerpublic 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 TransformerBadBytecodeprivate boolean matchClass(java.lang.String name,
ClassPool pool)
protected int match(int c,
int pos,
CodeIterator iterator,
int typedesc,
ConstPool cp)
throws BadBytecode
BadBytecode