Package net.ssehub.easy.varModel.cst
Class ConstraintReplacer
java.lang.Object
net.ssehub.easy.varModel.cst.ConstraintReplacer
- All Implemented Interfaces:
IConstraintTreeVisitor
Class to copy an expression. May be superseded by
CopyVisitor.- Author:
- beck, Holger Eichelberger
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ConstraintSyntaxTreeprivate static final net.ssehub.easy.basics.logger.EASyLoggerFactory.EASyLoggerprivate ConstraintSyntaxTreeprivate Map<AbstractVariable, AbstractVariable> -
Constructor Summary
ConstructorsConstructorDescriptionCreates a ConstraintReplacer witch is needed to copy a OCLFeatureCall. -
Method Summary
Modifier and TypeMethodDescriptionprivate AbstractVariablemap(AbstractVariable var) Maps an abstract variable for proper copying.private DecisionVariableDeclarationMaps a decision variable for proper copying.private voidReplaces a leaf if inmapping.replaceVariable(Leaf oldLeaf, Leaf newLeaf) Copies a ConstraintSyntaxTree and replaces all occurrences of oldLeaf with newLeaf.private voidresolve()Resolves the type ofcopiedConstraint.voidvisitAnnotationVariable(AttributeVariable variable) Visits aAttributeVariable.voidVisits the block.voidvisitComment(Comment comment) Visits a comment.voidvisitCompoundAccess(CompoundAccess access) Visits a compound access node.voidvisitCompoundInitializer(CompoundInitializer initializer) Visits a compound initializer.voidvisitConstantValue(ConstantValue value) Visits a constant value.voidvisitContainerInitializer(ContainerInitializer initializer) Visits a container initializer.voidVisits a container operation call (e.g.voidvisitDeferInitExpression(DeferInitExpression expression) Visits a default init expression.voidvisitIfThen(IfThen ifThen) Visits an if-then-else expression.voidVisits a let expression.voidvisitMultiAndExpression(MultiAndExpression expression) Visits a multi-and expression.voidVisits an OCL feature call.voidvisitParenthesis(Parenthesis parenthesis) Visits a parenthesis.voidVisits self.voidvisitUnresolvedExpression(UnresolvedExpression expression) Visits an unresolved expression.voidvisitVariable(Variable variable) Visits a variable.
-
Field Details
-
LOGGER
private static final net.ssehub.easy.basics.logger.EASyLoggerFactory.EASyLogger LOGGER -
mapping
-
varMapping
-
copiedConstraint
-
origin
-
-
Constructor Details
-
ConstraintReplacer
Creates a ConstraintReplacer witch is needed to copy a OCLFeatureCall.- Parameters:
origin- ConstraintSyntaxTree witch should be copied
-
-
Method Details
-
replaceVariable
Copies a ConstraintSyntaxTree and replaces all occurrences of oldLeaf with newLeaf.- Parameters:
oldLeaf- Variables and Constants witch should be replacednewLeaf- Replacement of oldLeaf- Returns:
- returns a new ConstraintSyntaxTree
-
visitConstantValue
Description copied from interface:IConstraintTreeVisitorVisits a constant value.- Specified by:
visitConstantValuein interfaceIConstraintTreeVisitor- Parameters:
value- the value which should be visited
-
visitVariable
Description copied from interface:IConstraintTreeVisitorVisits a variable.- Specified by:
visitVariablein interfaceIConstraintTreeVisitor- Parameters:
variable- the variable which should be visited
-
replace
Replaces a leaf if inmapping.- Parameters:
oldLeaf- the candidate for replacement
-
visitParenthesis
Description copied from interface:IConstraintTreeVisitorVisits a parenthesis.- Specified by:
visitParenthesisin interfaceIConstraintTreeVisitor- Parameters:
parenthesis- the parenthesis which should be visited
-
visitDeferInitExpression
Description copied from interface:IConstraintTreeVisitorVisits a default init expression.- Specified by:
visitDeferInitExpressionin interfaceIConstraintTreeVisitor- Parameters:
expression- the expression
-
visitCompoundInitializer
Description copied from interface:IConstraintTreeVisitorVisits a compound initializer.- Specified by:
visitCompoundInitializerin interfaceIConstraintTreeVisitor- Parameters:
initializer- the compound initializer node
-
visitContainerInitializer
Description copied from interface:IConstraintTreeVisitorVisits a container initializer.- Specified by:
visitContainerInitializerin interfaceIConstraintTreeVisitor- Parameters:
initializer- the container initializer node
-
visitComment
Description copied from interface:IConstraintTreeVisitorVisits a comment.- Specified by:
visitCommentin interfaceIConstraintTreeVisitor- Parameters:
comment- the comment node which should be visited
-
visitOclFeatureCall
Description copied from interface:IConstraintTreeVisitorVisits an OCL feature call.- Specified by:
visitOclFeatureCallin interfaceIConstraintTreeVisitor- Parameters:
call- the feature call which should be visited
-
visitMultiAndExpression
Description copied from interface:IConstraintTreeVisitorVisits a multi-and expression.- Specified by:
visitMultiAndExpressionin interfaceIConstraintTreeVisitor- Parameters:
expression- the expression to be visited
-
resolve
private void resolve()Resolves the type ofcopiedConstraint. -
visitLet
Description copied from interface:IConstraintTreeVisitorVisits a let expression.- Specified by:
visitLetin interfaceIConstraintTreeVisitor- Parameters:
let- the let expression which should be visited
-
visitIfThen
Description copied from interface:IConstraintTreeVisitorVisits an if-then-else expression.- Specified by:
visitIfThenin interfaceIConstraintTreeVisitor- Parameters:
ifThen- the if-then-else expression which should be visited
-
visitContainerOperationCall
Description copied from interface:IConstraintTreeVisitorVisits a container operation call (e.g. quantors, iterators).- Specified by:
visitContainerOperationCallin interfaceIConstraintTreeVisitor- Parameters:
call- the container operation call
-
map
Maps an abstract variable for proper copying.- Parameters:
var- the variable to be mapped- Returns:
- the mapped variable
-
map
Maps a decision variable for proper copying.- Parameters:
var- the variable to be mapped- Returns:
- the mapped variable
-
visitCompoundAccess
Description copied from interface:IConstraintTreeVisitorVisits a compound access node.- Specified by:
visitCompoundAccessin interfaceIConstraintTreeVisitor- Parameters:
access- the compound access node
-
visitUnresolvedExpression
Description copied from interface:IConstraintTreeVisitorVisits an unresolved expression. Please note that an unresolved expression may represent a leaf as well as an inner tree node. Typically, visitors shall continue visiting transparently atUnresolvedExpression.getActualExpression().- Specified by:
visitUnresolvedExpressionin interfaceIConstraintTreeVisitor- Parameters:
expression- the expression
-
visitSelf
Description copied from interface:IConstraintTreeVisitorVisits self.- Specified by:
visitSelfin interfaceIConstraintTreeVisitor- Parameters:
self- the self object to visit
-
visitAnnotationVariable
Description copied from interface:IConstraintTreeVisitorVisits aAttributeVariable.- Specified by:
visitAnnotationVariablein interfaceIConstraintTreeVisitor- Parameters:
variable- the attribute variable which should be visited
-
visitBlockExpression
Description copied from interface:IConstraintTreeVisitorVisits the block.- Specified by:
visitBlockExpressionin interfaceIConstraintTreeVisitor- Parameters:
block- the block to be visited
-