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, 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, visit, visit, visit
public 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 ASTVisitor
visit
in class ASTCloner
exp
- the expression to be substituted.public void visit(NewState exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- the expression to be substituted.public void visit(PostVariable exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- the expression to be substituted.public void visit(PreVariable exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- the expression to be substituted.