Package javassist.expr
Class MethodCall
- java.lang.Object
-
- javassist.expr.Expr
-
- javassist.expr.MethodCall
-
- All Implemented Interfaces:
Opcode
- Direct Known Subclasses:
ConstructorCall
public class MethodCall extends Expr
Method invocation (caller-side expression).
-
-
Field Summary
-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getClassName()
Returns the class name of the target object, which the method is called on.java.lang.String
getFileName()
Returns the source file containing the method call.int
getLineNumber()
Returns the line number of the source line containing the method call.CtMethod
getMethod()
Returns the called method.java.lang.String
getMethodName()
Returns the name of the called method.java.lang.String
getSignature()
Returns the method signature (the parameter types and the return type).boolean
isSuper()
Returns true if the called method is of a superclass of the current class.CtClass[]
mayThrow()
Returns the list of exceptions that the expression may throw.void
replace(java.lang.String statement)
Replaces the method call with the bytecode derived from the given source text.CtBehavior
where()
Returns the method or constructor containing the method-call expression represented by this object.-
Methods inherited from class javassist.expr.Expr
getEnclosingClass, indexOfBytecode, replace
-
-
-
-
Method Detail
-
where
public CtBehavior where()
Returns the method or constructor containing the method-call expression represented by this object.
-
getLineNumber
public int getLineNumber()
Returns the line number of the source line containing the method call.- Overrides:
getLineNumber
in classExpr
- Returns:
- -1 if this information is not available.
-
getFileName
public java.lang.String getFileName()
Returns the source file containing the method call.- Overrides:
getFileName
in classExpr
- Returns:
- null if this information is not available.
-
getClassName
public java.lang.String getClassName()
Returns the class name of the target object, which the method is called on.
-
getMethodName
public java.lang.String getMethodName()
Returns the name of the called method.
-
getMethod
public CtMethod getMethod() throws NotFoundException
Returns the called method.- Throws:
NotFoundException
-
getSignature
public java.lang.String getSignature()
Returns the method signature (the parameter types and the return type). The method signature is represented by a character string called method descriptor, which is defined in the JVM specification.- Since:
- 3.1
- See Also:
CtBehavior.getSignature()
,Descriptor
-
mayThrow
public CtClass[] mayThrow()
Returns the list of exceptions that the expression may throw. This list includes both the exceptions that the try-catch statements including the expression can catch and the exceptions that the throws declaration allows the method to throw.
-
isSuper
public boolean isSuper()
Returns true if the called method is of a superclass of the current class.
-
replace
public void replace(java.lang.String statement) throws CannotCompileException
Replaces the method call with the bytecode derived from the given source text.$0 is available even if the called method is static.
- Specified by:
replace
in classExpr
- Parameters:
statement
- a Java statement except try-catch.- Throws:
CannotCompileException
-
-