public final class Substitution extends ASTCloner
| Modifier and Type | Class and Description |
|---|---|
static class |
Substitution.Action |
static class |
Substitution.Value
The substitution for a reference to a program variable.
|
| Modifier and Type | Method and Description |
|---|---|
static Expression |
perform(Expression exp,
Term oldStateTerm,
Term newStateTerm,
java.util.Map<VariableSymbol,Substitution.Value> vars)
Create a copy of expression with the denoted substitutions performed.
|
void |
visit(NewState exp)
Substitute expression.
|
void |
visit(OldState exp)
Substitute expression.
|
void |
visit(PostVariable exp)
Substitute expression.
|
void |
visit(PreVariable exp)
Substitute expression.
|
clone, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitvisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitpublic static Expression perform(Expression exp, Term oldStateTerm, Term newStateTerm, java.util.Map<VariableSymbol,Substitution.Value> vars)
exp - the expression to be copied.oldStateTerm - the substitution for "now" (if null, no substitution)newStateTerm - the substitution for "next (if null, no substitution)vars - the substitutions for (references to) program variablespublic void visit(OldState exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - the expression to be substituted.public void visit(NewState exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - the expression to be substituted.public void visit(PostVariable exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - the expression to be substituted.public void visit(PreVariable exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - the expression to be substituted.