public class CfgVarRangeBlockBackend extends CfgEmptyVisitor
This backend appears because of SMT solvers limitations.The current implementation supports only assignments like "x[f(i), g(i)] = y". It means, that range borders (or index) depend only from one variable. Another limitation comes from the fact that the "i" variable should be of integer type.
ModelVisitor.Status
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NAME
The backend name.
|
Constructor and Description |
---|
CfgVarRangeBlockBackend() |
Modifier and Type | Method and Description |
---|---|
void |
onModuleBegin(Module module)
Starts visiting
Module node. |
void |
onModuleEnd(Module module)
Finishes visiting
Module node. |
void |
onStatementEnd(Statement parent)
Finishes visiting
Statement statement. |
onAssertBegin, onAssertEnd, onBlockBegin, onBlockEnd, onCaseBegin, onCaseEnd, onLoopBegin, onLoopEnd, onSwitchBegin, onSwitchEnd, onWaitBegin, onWaitEnd
getStatus, onModelBegin, onModelEnd, onProcessBegin, onProcessEnd, onRootBegin, onRootEnd, onStatementBegin
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getStatus, onModelBegin, onModelEnd, onProcessBegin, onProcessEnd, onRootBegin, onRootEnd, onStatementBegin
public static final java.lang.String NAME
public void onModuleBegin(Module module)
ModelVisitor
Module
node.onModuleBegin
in interface ModelVisitor
onModuleBegin
in class ModelEmptyVisitor
module
- Module node to be visited.public void onModuleEnd(Module module)
ModelVisitor
Module
node.onModuleEnd
in interface ModelVisitor
onModuleEnd
in class ModelEmptyVisitor
module
- Module node to be visited.public void onStatementEnd(Statement parent)
ModelVisitor
Statement
statement.onStatementEnd
in interface ModelVisitor
onStatementEnd
in class ModelEmptyVisitor
parent
- Statement to be visited.