Class ConstraintFunctions.TransitiveConstraintFinder
java.lang.Object
net.ssehub.easy.varModel.model.filter.ConstraintFinder
net.ssehub.easy.reasoning.sseReasoner.functions.ConstraintFunctions.TransitiveConstraintFinder
- All Implemented Interfaces:
net.ssehub.easy.varModel.cst.IConstraintTreeVisitor,net.ssehub.easy.varModel.model.datatypes.ICustomDatatypeVisitor,net.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor,net.ssehub.easy.varModel.model.IModelVisitor
- Enclosing class:
ConstraintFunctions
private static class ConstraintFunctions.TransitiveConstraintFinder
extends net.ssehub.easy.varModel.model.filter.ConstraintFinder
implements net.ssehub.easy.varModel.cst.IConstraintTreeVisitor, net.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
A transitive constraint/variables finder.
- Author:
- Holger Eichelberger
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate Set<net.ssehub.easy.varModel.model.AbstractVariable> private net.ssehub.easy.varModel.model.IModelVisitorprivate Set<net.ssehub.easy.varModel.model.AbstractVariable> private net.ssehub.easy.varModel.model.Projectprivate net.ssehub.easy.varModel.model.Projectprivate Set<net.ssehub.easy.varModel.model.AbstractVariable> -
Constructor Summary
ConstructorsConstructorDescriptionTransitiveConstraintFinder(net.ssehub.easy.varModel.model.Project scope, net.ssehub.easy.varModel.model.Project target) Creates a finder with search scope and target project. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddToVariables(net.ssehub.easy.varModel.model.AbstractVariable var) Adds a variable tovariables.private voidhandle(net.ssehub.easy.varModel.model.AbstractVariable variable) Handles the occurrence of a variable.protected voidstartAccept(net.ssehub.easy.varModel.model.Project project) voidvisit(net.ssehub.easy.varModel.model.AbstractVariable var) Call for the top-level variable to be visited.private voidvisit(net.ssehub.easy.varModel.model.datatypes.IDatatype type) Internal method to start visiting a datatype.voidvisitAnnotationVariable(net.ssehub.easy.varModel.cst.AttributeVariable variable) voidvisitAnyType(net.ssehub.easy.varModel.model.datatypes.AnyType datatype) voidvisitAttributeAssignment(net.ssehub.easy.varModel.model.AttributeAssignment assignment) voidvisitBlockExpression(net.ssehub.easy.varModel.cst.BlockExpression block) voidvisitBooleanType(net.ssehub.easy.varModel.model.datatypes.BooleanType type) voidvisitComment(net.ssehub.easy.varModel.cst.Comment comment) voidvisitCompoundAccess(net.ssehub.easy.varModel.cst.CompoundAccess access) voidvisitCompoundInitializer(net.ssehub.easy.varModel.cst.CompoundInitializer initializer) voidvisitCompoundType(net.ssehub.easy.varModel.model.datatypes.Compound compound) voidvisitConstantValue(net.ssehub.easy.varModel.cst.ConstantValue value) voidvisitConstraint(net.ssehub.easy.varModel.model.Constraint constraint) voidvisitConstraintType(net.ssehub.easy.varModel.model.datatypes.ConstraintType type) voidvisitContainerInitializer(net.ssehub.easy.varModel.cst.ContainerInitializer initializer) voidvisitContainerOperationCall(net.ssehub.easy.varModel.cst.ContainerOperationCall call) voidvisitDatatype(net.ssehub.easy.varModel.model.datatypes.IDatatype datatype) voidvisitDecisionVariableDeclaration(net.ssehub.easy.varModel.model.DecisionVariableDeclaration decl) voidvisitDeferInitExpression(net.ssehub.easy.varModel.cst.DeferInitExpression expression) voidvisitDerivedType(net.ssehub.easy.varModel.model.datatypes.DerivedDatatype datatype) voidvisitEnumType(net.ssehub.easy.varModel.model.datatypes.Enum enumType) voidvisitIfThen(net.ssehub.easy.varModel.cst.IfThen ifThen) voidvisitIntegerType(net.ssehub.easy.varModel.model.datatypes.IntegerType type) voidvisitLet(net.ssehub.easy.varModel.cst.Let let) voidvisitMetaType(net.ssehub.easy.varModel.model.datatypes.MetaType datatype) voidvisitMultiAndExpression(net.ssehub.easy.varModel.cst.MultiAndExpression expression) voidvisitOclFeatureCall(net.ssehub.easy.varModel.cst.OCLFeatureCall call) voidvisitOrderedEnumType(net.ssehub.easy.varModel.model.datatypes.OrderedEnum enumType) voidvisitParenthesis(net.ssehub.easy.varModel.cst.Parenthesis parenthesis) voidvisitProject(net.ssehub.easy.varModel.model.Project project) voidvisitRealType(net.ssehub.easy.varModel.model.datatypes.RealType type) voidvisitSelf(net.ssehub.easy.varModel.cst.Self self) voidvisitSequence(net.ssehub.easy.varModel.model.datatypes.Sequence sequence) voidvisitSet(net.ssehub.easy.varModel.model.datatypes.Set set) voidvisitStringType(net.ssehub.easy.varModel.model.datatypes.StringType type) voidvisitUnresolvedExpression(net.ssehub.easy.varModel.cst.UnresolvedExpression expression) voidvisitVariable(net.ssehub.easy.varModel.cst.Variable variable) voidvisitVersionType(net.ssehub.easy.varModel.model.datatypes.VersionType type) Methods inherited from class net.ssehub.easy.varModel.model.filter.ConstraintFinder
getAttributeAssignments, getConstraints, getEvalConstraints, visitAttribute, visitComment, visitCompound, visitCompoundAccessStatement, visitDerivedDatatype, visitEnum, visitEnumLiteral, visitFreezeBlock, visitOperationDefinition, visitOrderedEnum, visitPartialEvaluationBlock, visitProjectImport, visitProjectInterface, visitReferenceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
visitReference
-
Field Details
-
add
private boolean add -
variables
-
scheduled
-
candidates
-
done
-
scope
private net.ssehub.easy.varModel.model.Project scope -
target
private net.ssehub.easy.varModel.model.Project target -
mVisitor
private net.ssehub.easy.varModel.model.IModelVisitor mVisitor
-
-
Constructor Details
-
TransitiveConstraintFinder
public TransitiveConstraintFinder(net.ssehub.easy.varModel.model.Project scope, net.ssehub.easy.varModel.model.Project target) Creates a finder with search scope and target project.- Parameters:
scope- the scopetarget- the target project
-
-
Method Details
-
startAccept
protected void startAccept(net.ssehub.easy.varModel.model.Project project) - Overrides:
startAcceptin classnet.ssehub.easy.varModel.model.filter.ConstraintFinder
-
visit
public void visit(net.ssehub.easy.varModel.model.AbstractVariable var) Call for the top-level variable to be visited.- Parameters:
var- the variable
-
visit
private void visit(net.ssehub.easy.varModel.model.datatypes.IDatatype type) Internal method to start visiting a datatype. Due to additional checks, please do not visit the type directly.- Parameters:
type- the type to be visited
-
addToVariables
private void addToVariables(net.ssehub.easy.varModel.model.AbstractVariable var) Adds a variable tovariables.- Parameters:
var- the variable
-
visitDecisionVariableDeclaration
public void visitDecisionVariableDeclaration(net.ssehub.easy.varModel.model.DecisionVariableDeclaration decl) - Specified by:
visitDecisionVariableDeclarationin interfacenet.ssehub.easy.varModel.model.IModelVisitor- Overrides:
visitDecisionVariableDeclarationin classnet.ssehub.easy.varModel.model.filter.ConstraintFinder
-
visitConstraint
public void visitConstraint(net.ssehub.easy.varModel.model.Constraint constraint) - Specified by:
visitConstraintin interfacenet.ssehub.easy.varModel.model.IModelVisitor- Overrides:
visitConstraintin classnet.ssehub.easy.varModel.model.filter.ConstraintFinder
-
visitProject
public void visitProject(net.ssehub.easy.varModel.model.Project project) - Specified by:
visitProjectin interfacenet.ssehub.easy.varModel.model.IModelVisitor- Overrides:
visitProjectin classnet.ssehub.easy.varModel.model.filter.ConstraintFinder
-
visitConstantValue
public void visitConstantValue(net.ssehub.easy.varModel.cst.ConstantValue value) - Specified by:
visitConstantValuein interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
handle
private void handle(net.ssehub.easy.varModel.model.AbstractVariable variable) Handles the occurrence of a variable.- Parameters:
variable- the variable
-
visitVariable
public void visitVariable(net.ssehub.easy.varModel.cst.Variable variable) - Specified by:
visitVariablein interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitAnnotationVariable
public void visitAnnotationVariable(net.ssehub.easy.varModel.cst.AttributeVariable variable) - Specified by:
visitAnnotationVariablein interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitParenthesis
public void visitParenthesis(net.ssehub.easy.varModel.cst.Parenthesis parenthesis) - Specified by:
visitParenthesisin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitComment
public void visitComment(net.ssehub.easy.varModel.cst.Comment comment) - Specified by:
visitCommentin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitOclFeatureCall
public void visitOclFeatureCall(net.ssehub.easy.varModel.cst.OCLFeatureCall call) - Specified by:
visitOclFeatureCallin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitLet
public void visitLet(net.ssehub.easy.varModel.cst.Let let) - Specified by:
visitLetin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitIfThen
public void visitIfThen(net.ssehub.easy.varModel.cst.IfThen ifThen) - Specified by:
visitIfThenin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitContainerOperationCall
public void visitContainerOperationCall(net.ssehub.easy.varModel.cst.ContainerOperationCall call) - Specified by:
visitContainerOperationCallin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitCompoundAccess
public void visitCompoundAccess(net.ssehub.easy.varModel.cst.CompoundAccess access) - Specified by:
visitCompoundAccessin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitUnresolvedExpression
public void visitUnresolvedExpression(net.ssehub.easy.varModel.cst.UnresolvedExpression expression) - Specified by:
visitUnresolvedExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitCompoundInitializer
public void visitCompoundInitializer(net.ssehub.easy.varModel.cst.CompoundInitializer initializer) - Specified by:
visitCompoundInitializerin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitContainerInitializer
public void visitContainerInitializer(net.ssehub.easy.varModel.cst.ContainerInitializer initializer) - Specified by:
visitContainerInitializerin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitSelf
public void visitSelf(net.ssehub.easy.varModel.cst.Self self) - Specified by:
visitSelfin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitBlockExpression
public void visitBlockExpression(net.ssehub.easy.varModel.cst.BlockExpression block) - Specified by:
visitBlockExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitDeferInitExpression
public void visitDeferInitExpression(net.ssehub.easy.varModel.cst.DeferInitExpression expression) - Specified by:
visitDeferInitExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitMultiAndExpression
public void visitMultiAndExpression(net.ssehub.easy.varModel.cst.MultiAndExpression expression) - Specified by:
visitMultiAndExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitDatatype
public void visitDatatype(net.ssehub.easy.varModel.model.datatypes.IDatatype datatype) - Specified by:
visitDatatypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitAnyType
public void visitAnyType(net.ssehub.easy.varModel.model.datatypes.AnyType datatype) - Specified by:
visitAnyTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitMetaType
public void visitMetaType(net.ssehub.easy.varModel.model.datatypes.MetaType datatype) - Specified by:
visitMetaTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitDerivedType
public void visitDerivedType(net.ssehub.easy.varModel.model.datatypes.DerivedDatatype datatype) - Specified by:
visitDerivedTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitBooleanType
public void visitBooleanType(net.ssehub.easy.varModel.model.datatypes.BooleanType type) - Specified by:
visitBooleanTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitStringType
public void visitStringType(net.ssehub.easy.varModel.model.datatypes.StringType type) - Specified by:
visitStringTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitConstraintType
public void visitConstraintType(net.ssehub.easy.varModel.model.datatypes.ConstraintType type) - Specified by:
visitConstraintTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitIntegerType
public void visitIntegerType(net.ssehub.easy.varModel.model.datatypes.IntegerType type) - Specified by:
visitIntegerTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitVersionType
public void visitVersionType(net.ssehub.easy.varModel.model.datatypes.VersionType type) - Specified by:
visitVersionTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitRealType
public void visitRealType(net.ssehub.easy.varModel.model.datatypes.RealType type) - Specified by:
visitRealTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitCompoundType
public void visitCompoundType(net.ssehub.easy.varModel.model.datatypes.Compound compound) - Specified by:
visitCompoundTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitAttributeAssignment
public void visitAttributeAssignment(net.ssehub.easy.varModel.model.AttributeAssignment assignment) - Specified by:
visitAttributeAssignmentin interfacenet.ssehub.easy.varModel.model.IModelVisitor- Overrides:
visitAttributeAssignmentin classnet.ssehub.easy.varModel.model.filter.ConstraintFinder
-
visitSet
public void visitSet(net.ssehub.easy.varModel.model.datatypes.Set set) - Specified by:
visitSetin interfacenet.ssehub.easy.varModel.model.datatypes.ICustomDatatypeVisitor- Specified by:
visitSetin interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor- Overrides:
visitSetin classnet.ssehub.easy.varModel.model.filter.ConstraintFinder
-
visitSequence
public void visitSequence(net.ssehub.easy.varModel.model.datatypes.Sequence sequence) - Specified by:
visitSequencein interfacenet.ssehub.easy.varModel.model.datatypes.ICustomDatatypeVisitor- Specified by:
visitSequencein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor- Overrides:
visitSequencein classnet.ssehub.easy.varModel.model.filter.ConstraintFinder
-
visitEnumType
public void visitEnumType(net.ssehub.easy.varModel.model.datatypes.Enum enumType) - Specified by:
visitEnumTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-
visitOrderedEnumType
public void visitOrderedEnumType(net.ssehub.easy.varModel.model.datatypes.OrderedEnum enumType) - Specified by:
visitOrderedEnumTypein interfacenet.ssehub.easy.varModel.model.datatypes.IDatatypeVisitor
-