public class ModuleProperty extends DeclarationContainer
Constructor and Description |
---|
ModuleProperty(DecStatement decStatement,
java.lang.String name,
ModuleProperty parent)
Constructs the object with the specified parameters.
|
Modifier and Type | Method and Description |
---|---|
void |
addModuleProperty(ModuleProperty container)
Adds the specified module-level property container object.
|
void |
addProcessProperty(ProcessProperty group)
Adds the specified process-level property container object.
|
void |
addProperty(ru.ispras.fortress.expression.Node node)
Adds the specified expression that uses variables
that are already declared at the parent container.
|
boolean |
equals(java.lang.Object obj) |
ru.ispras.fortress.expression.NodeVariable |
getClock()
Returns clock-like variable of the top-level container.
|
java.lang.String |
getName()
Returns name of this object.
|
ModuleProperty |
getParent()
Returns parent container.
|
java.util.Map<java.lang.String,ProcessProperty> |
getProcessMap()
Returns mapping of names to nested process-level property containers.
|
java.util.List<ru.ispras.fortress.expression.Node> |
getProperties()
Returns a collection of properties.
|
int |
hashCode() |
void |
setClock(ru.ispras.fortress.expression.NodeVariable variable)
Sets the specified variable as a clock-like for the top-level container.
|
void |
setResetVariable(ru.ispras.fortress.expression.NodeVariable variable)
Sets the specified variable as reset-like one.
|
containsInput, containsOutput, containsRegister, containsVariable, containsVariable, declareVariable, declareVariable, declareVariable, declareVariable, declareVariables, getDataType, getDeclaration, getDeclarationMap, getDeclarations, getInitialValue, getInputNames, getInputs, getInvariant, getOutputNames, getOutputs, getRegisterNames, getVariable, getVariableNames, getVariableNum, getVariables, removeDeclaration, removeDeclaration
addMetaInfo, addMetaInfo, addMetaInfo, addMetaInfo, getAllMetaInfo, getMetaInfo, getMetaInfo, getStringMetaInfo, getStringMetaInfo, hasMetaInfo, hasMetaInfo
public ModuleProperty(DecStatement decStatement, java.lang.String name, ModuleProperty parent)
decStatement
- The statement which variable declarations are to be copied.name
- Name of this object.parent
- Parent container for this object.java.lang.IllegalArgumentException
- when name argument is null
.public java.lang.String getName()
public ModuleProperty getParent()
public void addProperty(ru.ispras.fortress.expression.Node node)
node
- Property to be added to this object.java.lang.IllegalArgumentException
- when argument is null
.public java.util.List<ru.ispras.fortress.expression.Node> getProperties()
public ru.ispras.fortress.expression.NodeVariable getClock()
public void setClock(ru.ispras.fortress.expression.NodeVariable variable)
variable
- Clock-like variable to be set for this object.java.lang.IllegalArgumentException
- when argument is null
.RetrascopeException
- when this is not top-level container.RetrascopeException
- when this container already has it's clock.public void addModuleProperty(ModuleProperty container)
container
- Module-level property container to be added to this object.java.lang.IllegalArgumentException
- when argument is null
.public void addProcessProperty(ProcessProperty group)
group
- Process-level property container to be added.java.lang.IllegalArgumentException
- when argument is null
.public java.util.Map<java.lang.String,ProcessProperty> getProcessMap()
public void setResetVariable(ru.ispras.fortress.expression.NodeVariable variable)
Note that the specified variable should be declared at this object before set as reset-like one.
variable
- reset-like variable.java.lang.IllegalArgumentException
- when argument is null
.RetrascopeException
- when the specified variable has not been already
declared at this object.public boolean equals(java.lang.Object obj)
equals
in class DeclarationContainer
public int hashCode()
hashCode
in class DeclarationContainer