public interface

IJavaCall

implements IJavaExpression IJavaStatement
com.pnfsoftware.jeb.core.units.code.java.IJavaCall

Class Overview

Java AST interface to represent a method invocation. This interface is not used to represent new-object or new-array creation.

Example:

 foo(0, 1, "bar")
 

See Also

Summary

Constants
int CALLTYPE_LAMBDA
int CALLTYPE_REGULAR
int CALLTYPE_STATIC
int CALLTYPE_SUPER
[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaElement
Public Methods
abstract void addArgument(IJavaExpression arg)
Append an argument to this method call.
abstract IJavaCall duplicate()
Duplicate this element.
abstract IJavaExpression getArgument(int index)
abstract int getArgumentCount()
Get the number of arguments.
abstract List<IJavaExpression> getArguments()
Retrieve the list of arguments passed to the method.
abstract int getCallType()
abstract IJavaMethod getMethod()
Get the method element.
abstract String getMethodClass()
abstract String getMethodName()
Get the original method simple name.
abstract String getMethodSignature()
Get the original method jvm name (fully qualified canonical name).
abstract void insertArgument(int index, IJavaExpression arg)
Insert an argument to the list of arguments.
abstract boolean isCustomCall()
This method is deprecated. will be removed - use isLambdaCall()
abstract boolean isLambdaCall()
abstract boolean isStaticCall()
abstract boolean isSuperCall()
Determine if the call is to a super-class method.
abstract IJavaExpression removeArgument(int index)
Pull an argument from the list of arguments.
abstract void setArgument(int index, IJavaExpression arg)
abstract void setMethod(IJavaMethod method, int calltype)
Set the method to be called.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaElement
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaExpression
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaStatement

Constants

public static final int CALLTYPE_LAMBDA

Constant Value: 2 (0x00000002)

public static final int CALLTYPE_REGULAR

Constant Value: 0 (0x00000000)

public static final int CALLTYPE_STATIC

Constant Value: 3 (0x00000003)

public static final int CALLTYPE_SUPER

Constant Value: 1 (0x00000001)

Public Methods

public abstract void addArgument (IJavaExpression arg)

Append an argument to this method call.

public abstract IJavaCall duplicate ()

Duplicate this element.

Returns
  • a (possibly) duplicated object of the same type

public abstract IJavaExpression getArgument (int index)

public abstract int getArgumentCount ()

Get the number of arguments.

Returns
  • the number of arguments

public abstract List<IJavaExpression> getArguments ()

Retrieve the list of arguments passed to the method.

If the method being called is a virtual method, the first argument will be an expression representing the object on which this method is called.

Returns
  • the list of arguments, the elements in the list cannot be null

public abstract int getCallType ()

public abstract IJavaMethod getMethod ()

Get the method element.

Returns
  • the method element

public abstract String getMethodClass ()

public abstract String getMethodName ()

Get the original method simple name.

public abstract String getMethodSignature ()

Get the original method jvm name (fully qualified canonical name).

public abstract void insertArgument (int index, IJavaExpression arg)

Insert an argument to the list of arguments.

Parameters
index 0-based argument index
arg mandatory argument to be inserted

public abstract boolean isCustomCall ()

This method is deprecated.
will be removed - use isLambdaCall()

public abstract boolean isLambdaCall ()

public abstract boolean isStaticCall ()

public abstract boolean isSuperCall ()

Determine if the call is to a super-class method.

Returns
  • true if the method being called is a super-class method

public abstract IJavaExpression removeArgument (int index)

Pull an argument from the list of arguments.

Parameters
index 0-based argument index
Returns
  • the argument object that was pulled out

public abstract void setArgument (int index, IJavaExpression arg)

public abstract void setMethod (IJavaMethod method, int calltype)

Set the method to be called.

Parameters
method mandatory method
calltype one of CALLTYPE_xxx constant