Class CSTCopyVisitor
- java.lang.Object
-
- net.ssehub.easy.varModel.cst.BasicCopyVisitor
-
- net.ssehub.easy.varModel.cst.CopyVisitor
-
- net.ssehub.easy.varModel.model.rewrite.CSTCopyVisitor
-
- All Implemented Interfaces:
IConstraintTreeVisitor
class CSTCopyVisitor extends CopyVisitor
SpecialCopyVisitoras needed by theProjectCopyVisitor.- Author:
- El-Sharkawy
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.ssehub.easy.varModel.cst.CopyVisitor
CopyVisitor.IVariableReplacer
-
-
Field Summary
Fields Modifier and Type Field Description private booleancompleteprivate ProjectCopyVisitorcopyierprivate booleanforceAccessorsprivate booleanvisitItrExpression
-
Constructor Summary
Constructors Constructor Description CSTCopyVisitor(java.util.Map<AbstractVariable,AbstractVariable> mapping, ProjectCopyVisitor copyier)Creates a copy visitor with explicit mapping.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private AbstractVariablemapAnnotation(Attribute var)Part ofmapVariable(AbstractVariable)to mapAttributes.protected AbstractVariablemapVariable(AbstractVariable var)Maps a variable.protected DecisionVariableDeclarationmapVariable(DecisionVariableDeclaration var)Maps a variable.(package private) voidsetForceaccessors(boolean forceAccessors)Specification whether this visitor should try to fix brokenICustomOperationAccessors.(package private) booleantranslatedCompletely()Specifies whether the constraint could be translated completely.voidvisitCompoundInitializer(CompoundInitializer initializer)Visits a compound initializer.voidvisitConstantValue(ConstantValue constantValue)Visits a constant value.voidvisitContainerInitializer(ContainerInitializer initializer)Visits a container initializer.voidvisitContainerOperationCall(ContainerOperationCall call)Visits a container operation call (e.g.voidvisitOclFeatureCall(OCLFeatureCall call)Visits an OCL feature call.voidvisitSelf(Self self)Visits self.-
Methods inherited from class net.ssehub.easy.varModel.cst.CopyVisitor
getMapping, visitAnnotationVariable, visitVariable
-
Methods inherited from class net.ssehub.easy.varModel.cst.BasicCopyVisitor
clear, getCopyExpressions, getCopyVariables, getLogger, getResult, inferDatatype, setCopyConstants, setCopyExpressions, setCopyVariables, setDoInferDatatype, setResult, visitBlockExpression, visitComment, visitCompoundAccess, visitIfThen, visitLet, visitMultiAndExpression, visitParenthesis, visitUnresolvedExpression
-
-
-
-
Field Detail
-
visitItrExpression
private boolean visitItrExpression
-
complete
private boolean complete
-
copyier
private ProjectCopyVisitor copyier
-
forceAccessors
private boolean forceAccessors
-
-
Constructor Detail
-
CSTCopyVisitor
CSTCopyVisitor(java.util.Map<AbstractVariable,AbstractVariable> mapping, ProjectCopyVisitor copyier)
Creates a copy visitor with explicit mapping. This is for the final round of translation, where all projects have been translated.- Parameters:
mapping- a mapping from old variable declarations to new variable declarations, existing variable declarations are taken over if no mapping is given, may be null in case of no mapping at allcopyier- The callingProjectCopyVisitor, containing the list of currently translated projects.
-
-
Method Detail
-
setForceaccessors
void setForceaccessors(boolean forceAccessors)
Specification whether this visitor should try to fix brokenICustomOperationAccessors. These are usuallyProjects.- Parameters:
forceAccessors- true If an accessor could not be found, a fallback (unprezise) mechanism is used, this should only be used at the end of the translation if all projects are surely copied, false is the default option for this.
-
translatedCompletely
boolean translatedCompletely()
Specifies whether the constraint could be translated completely.- Returns:
- true constraint was translated completely, false
UntranslatedDeclarations have been used and must be translated at a later point.
-
mapVariable
protected AbstractVariable mapVariable(AbstractVariable var)
Description copied from class:BasicCopyVisitorMaps a variable.- Overrides:
mapVariablein classCopyVisitor- Parameters:
var- the variable to be mapped- Returns:
- the mapped variable or
var
-
mapAnnotation
private AbstractVariable mapAnnotation(Attribute var)
Part ofmapVariable(AbstractVariable)to mapAttributes.- Parameters:
var- the annotation to be mapped- Returns:
- the mapped variable or
var
-
visitOclFeatureCall
public void visitOclFeatureCall(OCLFeatureCall call)
Description copied from interface:IConstraintTreeVisitorVisits an OCL feature call.- Specified by:
visitOclFeatureCallin interfaceIConstraintTreeVisitor- Overrides:
visitOclFeatureCallin classBasicCopyVisitor- Parameters:
call- the feature call which should be visited
-
visitCompoundInitializer
public void visitCompoundInitializer(CompoundInitializer initializer)
Description copied from interface:IConstraintTreeVisitorVisits a compound initializer.- Specified by:
visitCompoundInitializerin interfaceIConstraintTreeVisitor- Overrides:
visitCompoundInitializerin classBasicCopyVisitor- Parameters:
initializer- the compound initializer node
-
visitContainerInitializer
public void visitContainerInitializer(ContainerInitializer initializer)
Description copied from interface:IConstraintTreeVisitorVisits a container initializer.- Specified by:
visitContainerInitializerin interfaceIConstraintTreeVisitor- Overrides:
visitContainerInitializerin classBasicCopyVisitor- Parameters:
initializer- the container initializer node
-
visitContainerOperationCall
public void visitContainerOperationCall(ContainerOperationCall call)
Description copied from interface:IConstraintTreeVisitorVisits a container operation call (e.g. quantors, iterators).- Specified by:
visitContainerOperationCallin interfaceIConstraintTreeVisitor- Overrides:
visitContainerOperationCallin classBasicCopyVisitor- Parameters:
call- the container operation call
-
mapVariable
protected DecisionVariableDeclaration mapVariable(DecisionVariableDeclaration var)
Description copied from class:BasicCopyVisitorMaps a variable.- Overrides:
mapVariablein classCopyVisitor- Parameters:
var- the variable to be mapped- Returns:
- the mapped variable or
var
-
visitConstantValue
public void visitConstantValue(ConstantValue constantValue)
Description copied from interface:IConstraintTreeVisitorVisits a constant value.- Specified by:
visitConstantValuein interfaceIConstraintTreeVisitor- Overrides:
visitConstantValuein classBasicCopyVisitor- Parameters:
constantValue- the value which should be visited
-
visitSelf
public void visitSelf(Self self)
Description copied from interface:IConstraintTreeVisitorVisits self.- Specified by:
visitSelfin interfaceIConstraintTreeVisitor- Overrides:
visitSelfin classCopyVisitor- Parameters:
self- the self object to visit
-
-