javassist.expr
Class MethodCall

java.lang.Object
  extended by javassist.expr.Expr
      extended by 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, 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
 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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

where

public CtBehavior where()
Returns the method or constructor containing the method-call expression represented by this object.

Overrides:
where in class Expr

getLineNumber

public int getLineNumber()
Returns the line number of the source line containing the method call.

Overrides:
getLineNumber in class Expr
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 class Expr
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.

Overrides:
mayThrow in class Expr

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 class Expr
Parameters:
statement - a Java statement.
Throws:
CannotCompileException


Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999-2010 Shigeru Chiba. All Rights Reserved.