public interface

ICCall

implements ICExpression ICStatement
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICCall

Class Overview

C AST interface to represent a routine call.

Example:

 foo(0, 1, "bar")
 

Summary

Public Methods
abstract ICCall duplicate()
Deep duplication of the element.
abstract int getArgumentCount()
abstract List<ICExpression> getArguments()
abstract ICExpression getCallsite()
abstract List<String> getCandidateMethodAddresses()
abstract List<ICMethod> getCandidateMethods()
abstract ICMethod getMethod()
abstract String getMethodAddress()
abstract boolean isBadCall()
Determine if the call is a bad call, i.e.
abstract boolean isNonReturningCall()
Determine if the call does not return, e.g.
abstract boolean isStatic()
abstract boolean isSuperCall()
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICElement
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICExpression
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICStatement

Public Methods

public abstract ICCall duplicate ()

Deep duplication of the element. Sub-elements are duplicated.

Note: ICClass, ICMethod, ICField, ICIdentifier, ICConstant, ICType and ICLabel are not duplicated.

public abstract int getArgumentCount ()

public abstract List<ICExpression> getArguments ()

public abstract ICExpression getCallsite ()

public abstract List<String> getCandidateMethodAddresses ()

public abstract List<ICMethod> getCandidateMethods ()

public abstract ICMethod getMethod ()

public abstract String getMethodAddress ()

public abstract boolean isBadCall ()

Determine if the call is a bad call, i.e. it is not returning where it should (that is, to the instruction that follows the call), although it does theoretically return somewhere.

public abstract boolean isNonReturningCall ()

Determine if the call does not return, e.g. a call that eventually leads to program exit.

public abstract boolean isStatic ()

public abstract boolean isSuperCall ()