Package pascal.taie.ir.stmt
Class DefinitionStmt<L extends LValue,R extends RValue>
java.lang.Object
pascal.taie.ir.stmt.DefinitionStmt<L,R>
- Type Parameters:
L
- type of left-hand side expressionR
- type of right-hand side expression
- All Implemented Interfaces:
Serializable
,Stmt
,Indexable
- Direct Known Subclasses:
AssignStmt
,Invoke
Representation of all definition statements, i.e., exp1 = exp2.
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
-
Field Details
-
index
protected int index -
lineNumber
protected int lineNumber
-
-
Constructor Details
-
DefinitionStmt
public DefinitionStmt()
-
-
Method Details
-
getLValue
- 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.
-
getRValue
- Returns:
- the right-hand side expression.
-
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
-
getDef
-
getUses
-
canFallThrough
public boolean canFallThrough()- Specified by:
canFallThrough
in interfaceStmt
- Returns:
- true if execution after this statement could continue at the following statement, otherwise false.
-