Package pascal.taie.ir.stmt
Class Invoke
- All Implemented Interfaces:
Serializable
,Comparable<Invoke>
,Stmt
,Indexable
Representation of invocation statement, e.g., r = o.m(...) or o.m(...).
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T> T
accept
(StmtVisitor<T> visitor) boolean
int
getDef()
int
getIndex()
int
getUses()
boolean
boolean
boolean
boolean
isStatic()
boolean
void
setIndex
(int index) void
setLineNumber
(int lineNumber) toString()
-
Field Details
-
index
protected int index -
lineNumber
protected int lineNumber
-
-
Constructor Details
-
Invoke
-
Invoke
-
-
Method Details
-
getLValue
- Specified by:
getLValue
in classDefinitionStmt<Var,
InvokeExp> - Returns:
- the left-hand side expression. If this Stmt is an
Invoke
which does not have a left-hand side expression, e.g., o.m(...), then this method returns null; otherwise, it must return a non-null value.
-
getResult
-
getRValue
- Specified by:
getRValue
in classDefinitionStmt<Var,
InvokeExp> - Returns:
- the right-hand side expression.
-
getInvokeExp
- Returns:
- the invocation expression of this invoke.
- See Also:
-
getMethodRef
- Returns:
- the method reference of this invoke.
- See Also:
-
isVirtual
public boolean isVirtual() -
isInterface
public boolean isInterface() -
isSpecial
public boolean isSpecial() -
isStatic
public boolean isStatic() -
isDynamic
public boolean isDynamic() -
getContainer
-
getDef
-
getUses
-
accept
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Invoke>
-
toString
-
getIndex
public int getIndex() -
setIndex
public void setIndex(int index) -
getLineNumber
public int getLineNumber()- Specified by:
getLineNumber
in interfaceStmt
- Returns:
- the line number of this Stmt in the original source file. If the line number is unavailable, return -1.
-
setLineNumber
public void setLineNumber(int lineNumber) - Specified by:
setLineNumber
in interfaceStmt
-
canFallThrough
public boolean canFallThrough()- Specified by:
canFallThrough
in interfaceStmt
- Returns:
- true if execution after this statement could continue at the following statement, otherwise false.
-