public class Action extends java.lang.Object implements UseDef
Constructor and Description |
---|
Action(Assignment statement)
Constructs an assignment action containing only
the specified
Assignment assignment. |
Action(java.util.List<Assignment> list)
Constructs object from the specified list of assignments.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
java.util.Set<ru.ispras.fortress.expression.NodeVariable> |
getDefines()
Returns a set of defined variables.
|
java.util.Map<ru.ispras.fortress.expression.NodeVariable,java.util.Set<ru.ispras.fortress.expression.NodeVariable>> |
getResultingDependencies()
Returns mappings between modified variables and variables which affects corresponding
modifications.
|
java.util.Map<ru.ispras.fortress.expression.NodeVariable,ru.ispras.fortress.expression.Node> |
getResultingSubstitutions()
Returns mappings between variables and corresponding substitutions representing total variable
modifications during execution of this action.
|
java.util.List<Assignment> |
getStatements()
Returns all code statements.
|
java.util.Set<ru.ispras.fortress.expression.NodeVariable> |
getUses()
Returns a set of used variables.
|
int |
hashCode() |
BasicBlock |
toBasicBlock()
Returns action as one-element list of basic blocks of non-concurrent type.
|
java.lang.String |
toString() |
public Action(Assignment statement)
Assignment
assignment.statement
- - the assign statement.java.lang.NullPointerException
- when argument is null
.public Action(java.util.List<Assignment> list)
list
- list of statementsjava.lang.NullPointerException
- when argument is null
.public java.util.List<Assignment> getStatements()
public BasicBlock toBasicBlock()
public java.util.Set<ru.ispras.fortress.expression.NodeVariable> getUses()
UseDef
public java.util.Set<ru.ispras.fortress.expression.NodeVariable> getDefines()
UseDef
getDefines
in interface UseDef
public java.util.Map<ru.ispras.fortress.expression.NodeVariable,java.util.Set<ru.ispras.fortress.expression.NodeVariable>> getResultingDependencies()
x = y
and
z = x + i
, the resulting map contains mappings from x
to y
and from
z
to y
and i
.public java.util.Map<ru.ispras.fortress.expression.NodeVariable,ru.ispras.fortress.expression.Node> getResultingSubstitutions()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object