public class Process extends CfgVariableContainerNode implements UseDef
NEW_VAR_PREFIX
Constructor and Description |
---|
Process()
The default constructor.
|
Process(boolean initial)
Constructs new process with the specified value of "initial" flag
and empty collection of events.
|
Modifier and Type | Method and Description |
---|---|
void |
addChild(CfgModelNode node)
Adds child node.
|
void |
addParent(CfgModelNode node)
Adds parent node.
|
void |
applyBindings(java.util.Map<java.lang.String,ru.ispras.fortress.expression.Node> bindings)
Applies bindings to process internals.
|
CfgModelNode |
deepcopy()
Returns a copy of this node.
|
Cfg |
getCfg()
Returns process control flow graph.
|
java.util.Collection<CfgModelNode> |
getChildren()
Return child nodes.
|
java.util.Set<ru.ispras.fortress.expression.NodeVariable> |
getDefines()
Returns a set of defined variables.
|
java.lang.String |
getDescription(ru.ispras.fortress.expression.printer.ExprTreePrinter printer)
Returns node string description in the format of the specified printer.
|
CfgModelNode |
getOnlyChild()
Returns the only child node.
|
CfgModelNode |
getOnlyParent()
Returns the only parent node.
|
java.util.Collection<CfgModelNode> |
getParents()
Returns parent nodes.
|
EventList |
getSensitivityList()
Returns
EventList sensitivity list. |
CfgNodeType |
getType()
Returns node type.
|
java.util.Set<ru.ispras.fortress.expression.NodeVariable> |
getUses()
Returns a set of used variables.
|
boolean |
hasChildren()
Checks rather node has child nodes.
|
boolean |
hasParents()
Checks rather node has parent nodes.
|
boolean |
isInitial()
Checks rather process is of initial kind.
|
void |
removeChild(CfgModelNode node)
Removes child node.
|
void |
removeParent(CfgModelNode node)
Removes parent node.
|
void |
setSensitivityList(EventList eventList)
Sets new
EventList sensitivity list. |
addDeclaration, addNewVariable, addVariable, addVariable, addVariableVersion, containsVariable, getBindings, getDeclaration, getDeclarations, getVariable, getVariables, getVariablesMapping, removeDeclaration, setBindings, setVariablesMapping
getId
addMetaInfo, addMetaInfo, addMetaInfo, addMetaInfo, getMetaInfo, getMetaInfo, getMetaInfo, hasMetaInfo, hasMetaInfo, removeMetaInfo, removeMetaInfo
public Process()
public Process(boolean initial)
initial
- initial flagpublic boolean isInitial()
true
if process is of initial kind, false
otherwise.public Cfg getCfg()
public EventList getSensitivityList()
EventList
sensitivity list.public void setSensitivityList(EventList eventList)
EventList
sensitivity list.eventList
- event listpublic void applyBindings(java.util.Map<java.lang.String,ru.ispras.fortress.expression.Node> bindings)
bindings
- "variable name - expression" bindingpublic CfgModelNode deepcopy()
CfgModelNode
deepcopy
in class CfgModelNode
public void addChild(CfgModelNode node)
CfgModelNode
addChild
in class CfgModelNode
node
- child nodepublic void addParent(CfgModelNode node)
CfgModelNode
addParent
in class CfgModelNode
node
- parent nodepublic void removeChild(CfgModelNode node)
CfgModelNode
removeChild
in class CfgModelNode
node
- child nodepublic void removeParent(CfgModelNode node)
CfgModelNode
removeParent
in class CfgModelNode
node
- parent nodepublic java.util.Collection<CfgModelNode> getParents()
CfgModelNode
getParents
in class CfgModelNode
public CfgModelNode getOnlyChild()
CfgModelNode
getOnlyChild
in class CfgModelNode
public java.util.Collection<CfgModelNode> getChildren()
CfgModelNode
getChildren
in class CfgModelNode
public java.lang.String getDescription(ru.ispras.fortress.expression.printer.ExprTreePrinter printer)
CfgModelNode
getDescription
in class CfgModelNode
printer
- printerpublic CfgNodeType getType()
CfgModelNode
CfgNodeType.NODE
type.getType
in class CfgModelNode
public boolean hasParents()
CfgModelNode
hasParents
in class CfgModelNode
true
if node has at least one parent, false
otherwise.public boolean hasChildren()
CfgModelNode
hasChildren
in class CfgModelNode
true
if node has at least one child,
false
otherwise.public CfgModelNode getOnlyParent()
CfgModelNode
getOnlyParent
in class CfgModelNode
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