aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage')
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java)10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java)22
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java84
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java455
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java116
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java97
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java109
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java61
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java)10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java117
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java162
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java93
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java5
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java)25
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java271
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java140
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java225
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java)10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java94
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java)17
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java)16
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java225
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java71
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java97
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java116
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java320
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java4046
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java)10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java81
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java)16
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java)54
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java)130
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java318
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java237
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java237
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java401
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java356
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java393
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java)72
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java244
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java)60
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java)60
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java)72
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java)72
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java418
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java563
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java342
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java6
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java)41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java463
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java296
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java)27
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java)26
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java400
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java357
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java574
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java1465
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java300
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java)26
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java242
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java614
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java856
175 files changed, 16554 insertions, 9095 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
new file mode 100644
index 00000000..8641f197
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
@@ -0,0 +1,96 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Aggregation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation()
22 * @model
23 * @generated
24 */
25public interface Aggregation extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Op</b></em>' attribute.
29 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Op</em>' attribute.
33 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
34 * @see #setOp(AggregationOp)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op()
36 * @model
37 * @generated
38 */
39 AggregationOp getOp();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Op</em>' attribute.
46 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
47 * @see #getOp()
48 * @generated
49 */
50 void setOp(AggregationOp value);
51
52 /**
53 * Returns the value of the '<em><b>Body</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Body</em>' containment reference.
57 * @see #setBody(Expression)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Body()
59 * @model containment="true"
60 * @generated
61 */
62 Expression getBody();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Body</em>' containment reference.
69 * @see #getBody()
70 * @generated
71 */
72 void setBody(Expression value);
73
74 /**
75 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Condition</em>' containment reference.
79 * @see #setCondition(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Condition()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getCondition();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Condition</em>' containment reference.
91 * @see #getCondition()
92 * @generated
93 */
94 void setCondition(Expression value);
95
96} // Aggregation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java
new file mode 100644
index 00000000..1a0664ed
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java
@@ -0,0 +1,317 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Aggregation Op</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregationOp()
18 * @model
19 * @generated
20 */
21public enum AggregationOp implements Enumerator
22{
23 /**
24 * The '<em><b>ONLY</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #ONLY_VALUE
28 * @generated
29 * @ordered
30 */
31 ONLY(0, "ONLY", "only"),
32
33 /**
34 * The '<em><b>SUM</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #SUM_VALUE
38 * @generated
39 * @ordered
40 */
41 SUM(1, "SUM", "sum"),
42
43 /**
44 * The '<em><b>PROD</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #PROD_VALUE
48 * @generated
49 * @ordered
50 */
51 PROD(2, "PROD", "prod"),
52
53 /**
54 * The '<em><b>AVG</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #AVG_VALUE
58 * @generated
59 * @ordered
60 */
61 AVG(3, "AVG", "avg"),
62
63 /**
64 * The '<em><b>MIN</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #MIN_VALUE
68 * @generated
69 * @ordered
70 */
71 MIN(4, "MIN", "min"),
72
73 /**
74 * The '<em><b>MAX</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #MAX_VALUE
78 * @generated
79 * @ordered
80 */
81 MAX(5, "MAX", "max");
82
83 /**
84 * The '<em><b>ONLY</b></em>' literal value.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #ONLY
88 * @model literal="only"
89 * @generated
90 * @ordered
91 */
92 public static final int ONLY_VALUE = 0;
93
94 /**
95 * The '<em><b>SUM</b></em>' literal value.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #SUM
99 * @model literal="sum"
100 * @generated
101 * @ordered
102 */
103 public static final int SUM_VALUE = 1;
104
105 /**
106 * The '<em><b>PROD</b></em>' literal value.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #PROD
110 * @model literal="prod"
111 * @generated
112 * @ordered
113 */
114 public static final int PROD_VALUE = 2;
115
116 /**
117 * The '<em><b>AVG</b></em>' literal value.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see #AVG
121 * @model literal="avg"
122 * @generated
123 * @ordered
124 */
125 public static final int AVG_VALUE = 3;
126
127 /**
128 * The '<em><b>MIN</b></em>' literal value.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @see #MIN
132 * @model literal="min"
133 * @generated
134 * @ordered
135 */
136 public static final int MIN_VALUE = 4;
137
138 /**
139 * The '<em><b>MAX</b></em>' literal value.
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @see #MAX
143 * @model literal="max"
144 * @generated
145 * @ordered
146 */
147 public static final int MAX_VALUE = 5;
148
149 /**
150 * An array of all the '<em><b>Aggregation Op</b></em>' enumerators.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private static final AggregationOp[] VALUES_ARRAY =
156 new AggregationOp[]
157 {
158 ONLY,
159 SUM,
160 PROD,
161 AVG,
162 MIN,
163 MAX,
164 };
165
166 /**
167 * A public read-only list of all the '<em><b>Aggregation Op</b></em>' enumerators.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public static final List<AggregationOp> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
173
174 /**
175 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified literal value.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @param literal the literal.
179 * @return the matching enumerator or <code>null</code>.
180 * @generated
181 */
182 public static AggregationOp get(String literal)
183 {
184 for (int i = 0; i < VALUES_ARRAY.length; ++i)
185 {
186 AggregationOp result = VALUES_ARRAY[i];
187 if (result.toString().equals(literal))
188 {
189 return result;
190 }
191 }
192 return null;
193 }
194
195 /**
196 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified name.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @param name the name.
200 * @return the matching enumerator or <code>null</code>.
201 * @generated
202 */
203 public static AggregationOp getByName(String name)
204 {
205 for (int i = 0; i < VALUES_ARRAY.length; ++i)
206 {
207 AggregationOp result = VALUES_ARRAY[i];
208 if (result.getName().equals(name))
209 {
210 return result;
211 }
212 }
213 return null;
214 }
215
216 /**
217 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified integer value.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @param value the integer value.
221 * @return the matching enumerator or <code>null</code>.
222 * @generated
223 */
224 public static AggregationOp get(int value)
225 {
226 switch (value)
227 {
228 case ONLY_VALUE: return ONLY;
229 case SUM_VALUE: return SUM;
230 case PROD_VALUE: return PROD;
231 case AVG_VALUE: return AVG;
232 case MIN_VALUE: return MIN;
233 case MAX_VALUE: return MAX;
234 }
235 return null;
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 private final int value;
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 private final String name;
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 private final String literal;
258
259 /**
260 * Only this class can construct instances.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private AggregationOp(int value, String name, String literal)
266 {
267 this.value = value;
268 this.name = name;
269 this.literal = literal;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public int getValue()
279 {
280 return value;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public String getName()
290 {
291 return name;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public String getLiteral()
301 {
302 return literal;
303 }
304
305 /**
306 * Returns the literal value of the enumerator, which is its string representation.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public String toString()
313 {
314 return literal;
315 }
316
317} //AggregationOp
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java
deleted file mode 100644
index 17cb45fb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>All Instances</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances()
20 * @model
21 * @generated
22 */
23public interface AllInstances extends ComplexObject
24{
25 /**
26 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Symbol</em>' containment reference.
30 * @see #setSymbol(Symbol)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances_Symbol()
32 * @model containment="true"
33 * @generated
34 */
35 Symbol getSymbol();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Symbol</em>' containment reference.
42 * @see #getSymbol()
43 * @generated
44 */
45 void setSymbol(Symbol value);
46
47} // AllInstances
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java
deleted file mode 100644
index fbb18046..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>All Objects</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllObjects()
14 * @model
15 * @generated
16 */
17public interface AllObjects extends ComplexObject
18{
19} // AllObjects
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
index ba30c6ad..73c79940 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
@@ -7,14 +7,14 @@ import org.eclipse.emf.ecore.EObject;
7 7
8/** 8/**
9 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Polarity</b></em>'. 10 * A representation of the model object '<em><b>Argument</b></em>'.
11 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
12 * 12 *
13 * 13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPolarity() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgument()
15 * @model 15 * @model
16 * @generated 16 * @generated
17 */ 17 */
18public interface Polarity extends EObject 18public interface Argument extends EObject
19{ 19{
20} // Polarity 20} // Argument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
index 62be12a1..4a932fea 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
@@ -9,32 +9,32 @@ import org.eclipse.emf.ecore.EObject;
9 9
10/** 10/**
11 * <!-- begin-user-doc --> 11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Pattern Body</b></em>'. 12 * A representation of the model object '<em><b>Argument List</b></em>'.
13 * <!-- end-user-doc --> 13 * <!-- end-user-doc -->
14 * 14 *
15 * <p> 15 * <p>
16 * The following features are supported: 16 * The following features are supported:
17 * </p> 17 * </p>
18 * <ul> 18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints <em>Constraints</em>}</li> 19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}</li>
20 * </ul> 20 * </ul>
21 * 21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPatternBody() 22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList()
23 * @model 23 * @model
24 * @generated 24 * @generated
25 */ 25 */
26public interface PatternBody extends EObject 26public interface ArgumentList extends EObject
27{ 27{
28 /** 28 /**
29 * Returns the value of the '<em><b>Constraints</b></em>' containment reference list. 29 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint}. 30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Argument}.
31 * <!-- begin-user-doc --> 31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc --> 32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Constraints</em>' containment reference list. 33 * @return the value of the '<em>Arguments</em>' containment reference list.
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPatternBody_Constraints() 34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments()
35 * @model containment="true" 35 * @model containment="true"
36 * @generated 36 * @generated
37 */ 37 */
38 EList<Constraint> getConstraints(); 38 EList<Argument> getArguments();
39 39
40} // PatternBody 40} // ArgumentList
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
new file mode 100644
index 00000000..b67d81ca
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Assertion</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion()
21 * @model
22 * @generated
23 */
24public interface Assertion extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Body</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Body</em>' containment reference.
31 * @see #setBody(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Body()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getBody();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Body</em>' containment reference.
43 * @see #getBody()
44 * @generated
45 */
46 void setBody(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Range</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Range</em>' containment reference.
53 * @see #setRange(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Range()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getRange();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Range</em>' containment reference.
65 * @see #getRange()
66 * @generated
67 */
68 void setRange(Expression value);
69
70} // Assertion
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java
deleted file mode 100644
index b4226d4a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java
+++ /dev/null
@@ -1,84 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Basic Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects <em>Objects</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation()
23 * @model
24 * @generated
25 */
26public interface BasicInterpretation extends Interpretation
27{
28 /**
29 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Symbol</em>' containment reference.
33 * @see #setSymbol(Symbol)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Symbol()
35 * @model containment="true"
36 * @generated
37 */
38 Symbol getSymbol();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Symbol</em>' containment reference.
45 * @see #getSymbol()
46 * @generated
47 */
48 void setSymbol(Symbol value);
49
50 /**
51 * Returns the value of the '<em><b>Objects</b></em>' containment reference list.
52 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject}.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Objects</em>' containment reference list.
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Objects()
57 * @model containment="true"
58 * @generated
59 */
60 EList<ComplexObject> getObjects();
61
62 /**
63 * Returns the value of the '<em><b>Value</b></em>' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return the value of the '<em>Value</em>' containment reference.
67 * @see #setValue(TruthValue)
68 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Value()
69 * @model containment="true"
70 * @generated
71 */
72 TruthValue getValue();
73
74 /**
75 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @param value the new value of the '<em>Value</em>' containment reference.
79 * @see #getValue()
80 * @generated
81 */
82 void setValue(TruthValue value);
83
84} // BasicInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
new file mode 100644
index 00000000..8a81e68b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
@@ -0,0 +1,96 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Binary Expression</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression()
22 * @model
23 * @generated
24 */
25public interface BinaryExpression extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Left</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Left</em>' containment reference.
32 * @see #setLeft(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Left()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getLeft();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Left</em>' containment reference.
44 * @see #getLeft()
45 * @generated
46 */
47 void setLeft(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Op</b></em>' attribute.
51 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Op</em>' attribute.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
56 * @see #setOp(BinaryOperator)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Op()
58 * @model
59 * @generated
60 */
61 BinaryOperator getOp();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Op</em>' attribute.
68 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
69 * @see #getOp()
70 * @generated
71 */
72 void setOp(BinaryOperator value);
73
74 /**
75 * Returns the value of the '<em><b>Right</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Right</em>' containment reference.
79 * @see #setRight(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Right()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getRight();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Right</em>' containment reference.
91 * @see #getRight()
92 * @generated
93 */
94 void setRight(Expression value);
95
96} // BinaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
new file mode 100644
index 00000000..9e8e073a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
@@ -0,0 +1,455 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Binary Operator</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryOperator()
18 * @model
19 * @generated
20 */
21public enum BinaryOperator implements Enumerator
22{
23 /**
24 * The '<em><b>EQ</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #EQ_VALUE
28 * @generated
29 * @ordered
30 */
31 EQ(0, "EQ", "EQ"),
32
33 /**
34 * The '<em><b>NOT EQ</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #NOT_EQ_VALUE
38 * @generated
39 * @ordered
40 */
41 NOT_EQ(1, "NOT_EQ", "NOT_EQ"),
42
43 /**
44 * The '<em><b>LESS</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #LESS_VALUE
48 * @generated
49 * @ordered
50 */
51 LESS(2, "LESS", "LESS"),
52
53 /**
54 * The '<em><b>LESS EQ</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #LESS_EQ_VALUE
58 * @generated
59 * @ordered
60 */
61 LESS_EQ(3, "LESS_EQ", "LESS_EQ"),
62
63 /**
64 * The '<em><b>GREATER</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #GREATER_VALUE
68 * @generated
69 * @ordered
70 */
71 GREATER(4, "GREATER", "GREATER"),
72
73 /**
74 * The '<em><b>GREATER EQ</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #GREATER_EQ_VALUE
78 * @generated
79 * @ordered
80 */
81 GREATER_EQ(5, "GREATER_EQ", "GREATER_EQ"),
82
83 /**
84 * The '<em><b>IN</b></em>' literal object.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #IN_VALUE
88 * @generated
89 * @ordered
90 */
91 IN(6, "IN", "IN"),
92
93 /**
94 * The '<em><b>ADD</b></em>' literal object.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #ADD_VALUE
98 * @generated
99 * @ordered
100 */
101 ADD(7, "ADD", "ADD"),
102
103 /**
104 * The '<em><b>SUB</b></em>' literal object.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @see #SUB_VALUE
108 * @generated
109 * @ordered
110 */
111 SUB(8, "SUB", "SUB"),
112
113 /**
114 * The '<em><b>MUL</b></em>' literal object.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @see #MUL_VALUE
118 * @generated
119 * @ordered
120 */
121 MUL(9, "MUL", "MUL"),
122
123 /**
124 * The '<em><b>DIV</b></em>' literal object.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @see #DIV_VALUE
128 * @generated
129 * @ordered
130 */
131 DIV(10, "DIV", "DIV"),
132
133 /**
134 * The '<em><b>POW</b></em>' literal object.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @see #POW_VALUE
138 * @generated
139 * @ordered
140 */
141 POW(11, "POW", "POW");
142
143 /**
144 * The '<em><b>EQ</b></em>' literal value.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @see #EQ
148 * @model
149 * @generated
150 * @ordered
151 */
152 public static final int EQ_VALUE = 0;
153
154 /**
155 * The '<em><b>NOT EQ</b></em>' literal value.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see #NOT_EQ
159 * @model
160 * @generated
161 * @ordered
162 */
163 public static final int NOT_EQ_VALUE = 1;
164
165 /**
166 * The '<em><b>LESS</b></em>' literal value.
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @see #LESS
170 * @model
171 * @generated
172 * @ordered
173 */
174 public static final int LESS_VALUE = 2;
175
176 /**
177 * The '<em><b>LESS EQ</b></em>' literal value.
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @see #LESS_EQ
181 * @model
182 * @generated
183 * @ordered
184 */
185 public static final int LESS_EQ_VALUE = 3;
186
187 /**
188 * The '<em><b>GREATER</b></em>' literal value.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @see #GREATER
192 * @model
193 * @generated
194 * @ordered
195 */
196 public static final int GREATER_VALUE = 4;
197
198 /**
199 * The '<em><b>GREATER EQ</b></em>' literal value.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @see #GREATER_EQ
203 * @model
204 * @generated
205 * @ordered
206 */
207 public static final int GREATER_EQ_VALUE = 5;
208
209 /**
210 * The '<em><b>IN</b></em>' literal value.
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @see #IN
214 * @model
215 * @generated
216 * @ordered
217 */
218 public static final int IN_VALUE = 6;
219
220 /**
221 * The '<em><b>ADD</b></em>' literal value.
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @see #ADD
225 * @model
226 * @generated
227 * @ordered
228 */
229 public static final int ADD_VALUE = 7;
230
231 /**
232 * The '<em><b>SUB</b></em>' literal value.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @see #SUB
236 * @model
237 * @generated
238 * @ordered
239 */
240 public static final int SUB_VALUE = 8;
241
242 /**
243 * The '<em><b>MUL</b></em>' literal value.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @see #MUL
247 * @model
248 * @generated
249 * @ordered
250 */
251 public static final int MUL_VALUE = 9;
252
253 /**
254 * The '<em><b>DIV</b></em>' literal value.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @see #DIV
258 * @model
259 * @generated
260 * @ordered
261 */
262 public static final int DIV_VALUE = 10;
263
264 /**
265 * The '<em><b>POW</b></em>' literal value.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @see #POW
269 * @model
270 * @generated
271 * @ordered
272 */
273 public static final int POW_VALUE = 11;
274
275 /**
276 * An array of all the '<em><b>Binary Operator</b></em>' enumerators.
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 private static final BinaryOperator[] VALUES_ARRAY =
282 new BinaryOperator[]
283 {
284 EQ,
285 NOT_EQ,
286 LESS,
287 LESS_EQ,
288 GREATER,
289 GREATER_EQ,
290 IN,
291 ADD,
292 SUB,
293 MUL,
294 DIV,
295 POW,
296 };
297
298 /**
299 * A public read-only list of all the '<em><b>Binary Operator</b></em>' enumerators.
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 public static final List<BinaryOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
305
306 /**
307 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified literal value.
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @param literal the literal.
311 * @return the matching enumerator or <code>null</code>.
312 * @generated
313 */
314 public static BinaryOperator get(String literal)
315 {
316 for (int i = 0; i < VALUES_ARRAY.length; ++i)
317 {
318 BinaryOperator result = VALUES_ARRAY[i];
319 if (result.toString().equals(literal))
320 {
321 return result;
322 }
323 }
324 return null;
325 }
326
327 /**
328 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified name.
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @param name the name.
332 * @return the matching enumerator or <code>null</code>.
333 * @generated
334 */
335 public static BinaryOperator getByName(String name)
336 {
337 for (int i = 0; i < VALUES_ARRAY.length; ++i)
338 {
339 BinaryOperator result = VALUES_ARRAY[i];
340 if (result.getName().equals(name))
341 {
342 return result;
343 }
344 }
345 return null;
346 }
347
348 /**
349 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified integer value.
350 * <!-- begin-user-doc -->
351 * <!-- end-user-doc -->
352 * @param value the integer value.
353 * @return the matching enumerator or <code>null</code>.
354 * @generated
355 */
356 public static BinaryOperator get(int value)
357 {
358 switch (value)
359 {
360 case EQ_VALUE: return EQ;
361 case NOT_EQ_VALUE: return NOT_EQ;
362 case LESS_VALUE: return LESS;
363 case LESS_EQ_VALUE: return LESS_EQ;
364 case GREATER_VALUE: return GREATER;
365 case GREATER_EQ_VALUE: return GREATER_EQ;
366 case IN_VALUE: return IN;
367 case ADD_VALUE: return ADD;
368 case SUB_VALUE: return SUB;
369 case MUL_VALUE: return MUL;
370 case DIV_VALUE: return DIV;
371 case POW_VALUE: return POW;
372 }
373 return null;
374 }
375
376 /**
377 * <!-- begin-user-doc -->
378 * <!-- end-user-doc -->
379 * @generated
380 */
381 private final int value;
382
383 /**
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 */
388 private final String name;
389
390 /**
391 * <!-- begin-user-doc -->
392 * <!-- end-user-doc -->
393 * @generated
394 */
395 private final String literal;
396
397 /**
398 * Only this class can construct instances.
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 private BinaryOperator(int value, String name, String literal)
404 {
405 this.value = value;
406 this.name = name;
407 this.literal = literal;
408 }
409
410 /**
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 */
415 @Override
416 public int getValue()
417 {
418 return value;
419 }
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 @Override
427 public String getName()
428 {
429 return name;
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 @Override
438 public String getLiteral()
439 {
440 return literal;
441 }
442
443 /**
444 * Returns the literal value of the enumerator, which is its string representation.
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 @Override
450 public String toString()
451 {
452 return literal;
453 }
454
455} //BinaryOperator
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java
deleted file mode 100644
index 678e8fee..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean False</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanFalse()
14 * @model
15 * @generated
16 */
17public interface BooleanFalse extends BooleanValue
18{
19} // BooleanFalse
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java
deleted file mode 100644
index c2c652ab..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject()
20 * @model
21 * @generated
22 */
23public interface BooleanObject extends DataObject
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' containment reference.
30 * @see #setValue(BooleanValue)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject_Value()
32 * @model containment="true"
33 * @generated
34 */
35 BooleanValue getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' containment reference.
42 * @see #getValue()
43 * @generated
44 */
45 void setValue(BooleanValue value);
46
47} // BooleanObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java
deleted file mode 100644
index 4760c96c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanSymbol()
14 * @model
15 * @generated
16 */
17public interface BooleanSymbol extends DataSymbol
18{
19} // BooleanSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java
deleted file mode 100644
index 7c72ec36..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean True</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanTrue()
14 * @model
15 * @generated
16 */
17public interface BooleanTrue extends BooleanValue
18{
19} // BooleanTrue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java
deleted file mode 100644
index 8fe67a48..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Boolean Value</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanValue()
15 * @model
16 * @generated
17 */
18public interface BooleanValue extends EObject
19{
20} // BooleanValue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
new file mode 100644
index 00000000..8e81e1a2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Bounded Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity()
21 * @model
22 * @generated
23 */
24public interface BoundedMultiplicity extends Multiplicity
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' attribute.
31 * @see #setLowerBound(int)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_LowerBound()
33 * @model
34 * @generated
35 */
36 int getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' attribute.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(int value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' attribute.
53 * @see #setUpperBound(int)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_UpperBound()
55 * @model
56 * @generated
57 */
58 int getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' attribute.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(int value);
69
70} // BoundedMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
new file mode 100644
index 00000000..1e76e86a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Bounded Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition()
21 * @model
22 * @generated
23 */
24public interface BoundedScopeDefinition extends ScopeDefinition
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' attribute.
31 * @see #setLowerBound(int)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_LowerBound()
33 * @model
34 * @generated
35 */
36 int getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' attribute.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(int value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' attribute.
53 * @see #setUpperBound(int)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_UpperBound()
55 * @model
56 * @generated
57 */
58 int getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' attribute.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(int value);
69
70} // BoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java
deleted file mode 100644
index 9a69fc8a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>CD Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCDInterpretation()
14 * @model
15 * @generated
16 */
17public interface CDInterpretation extends Interpretation
18{
19} // CDInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
new file mode 100644
index 00000000..538ac75c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
@@ -0,0 +1,116 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Call</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall()
23 * @model
24 * @generated
25 */
26public interface Call extends Expression
27{
28 /**
29 * Returns the value of the '<em><b>Functor</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Functor</em>' containment reference.
33 * @see #setFunctor(Reference)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_Functor()
35 * @model containment="true"
36 * @generated
37 */
38 Reference getFunctor();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Functor</em>' containment reference.
45 * @see #getFunctor()
46 * @generated
47 */
48 void setFunctor(Reference value);
49
50 /**
51 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Argument List</em>' containment reference.
55 * @see #setArgumentList(ArgumentList)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList()
57 * @model containment="true"
58 * @generated
59 */
60 ArgumentList getArgumentList();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Argument List</em>' containment reference.
67 * @see #getArgumentList()
68 * @generated
69 */
70 void setArgumentList(ArgumentList value);
71
72 /**
73 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Transitive Closure</em>' attribute.
77 * @see #setTransitiveClosure(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_TransitiveClosure()
79 * @model
80 * @generated
81 */
82 boolean isTransitiveClosure();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Transitive Closure</em>' attribute.
89 * @see #isTransitiveClosure()
90 * @generated
91 */
92 void setTransitiveClosure(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Reflexive Transitive Closure</em>' attribute.
99 * @see #setReflexiveTransitiveClosure(boolean)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ReflexiveTransitiveClosure()
101 * @model
102 * @generated
103 */
104 boolean isReflexiveTransitiveClosure();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Reflexive Transitive Closure</em>' attribute.
111 * @see #isReflexiveTransitiveClosure()
112 * @generated
113 */
114 void setReflexiveTransitiveClosure(boolean value);
115
116} // Call
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
new file mode 100644
index 00000000..970d1de2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Case</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase()
21 * @model
22 * @generated
23 */
24public interface Case extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Condition</em>' containment reference.
31 * @see #setCondition(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Condition()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getCondition();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Condition</em>' containment reference.
43 * @see #getCondition()
44 * @generated
45 */
46 void setCondition(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Body</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Body</em>' containment reference.
53 * @see #setBody(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Body()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getBody();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Body</em>' containment reference.
65 * @see #getBody()
66 * @generated
67 */
68 void setBody(Expression value);
69
70} // Case
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java
deleted file mode 100644
index 777e0c50..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java
+++ /dev/null
@@ -1,97 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Class Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract <em>Abstract</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes <em>Supertypes</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt <em>Fielt</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation()
24 * @model
25 * @generated
26 */
27public interface ClassInterpretation extends CDInterpretation
28{
29 /**
30 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Abstract</em>' attribute.
34 * @see #setAbstract(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Abstract()
36 * @model
37 * @generated
38 */
39 boolean isAbstract();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract <em>Abstract</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Abstract</em>' attribute.
46 * @see #isAbstract()
47 * @generated
48 */
49 void setAbstract(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
74 * Returns the value of the '<em><b>Supertypes</b></em>' containment reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Supertypes</em>' containment reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Supertypes()
80 * @model containment="true"
81 * @generated
82 */
83 EList<ModelSymbol> getSupertypes();
84
85 /**
86 * Returns the value of the '<em><b>Fielt</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Fielt</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Fielt()
92 * @model containment="true"
93 * @generated
94 */
95 EList<FieldRelationInterpretation> getFielt();
96
97} // ClassInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
new file mode 100644
index 00000000..43e9341a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
@@ -0,0 +1,96 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Comparison</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison()
22 * @model
23 * @generated
24 */
25public interface Comparison extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Left</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Left</em>' containment reference.
32 * @see #setLeft(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Left()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getLeft();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Left</em>' containment reference.
44 * @see #getLeft()
45 * @generated
46 */
47 void setLeft(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Op</b></em>' attribute.
51 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Op</em>' attribute.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
56 * @see #setOp(BinaryOperator)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Op()
58 * @model
59 * @generated
60 */
61 BinaryOperator getOp();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Op</em>' attribute.
68 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
69 * @see #getOp()
70 * @generated
71 */
72 void setOp(BinaryOperator value);
73
74 /**
75 * Returns the value of the '<em><b>Right</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Right</em>' containment reference.
79 * @see #setRight(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Right()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getRight();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Right</em>' containment reference.
91 * @see #getRight()
92 * @generated
93 */
94 void setRight(Expression value);
95
96} // Comparison
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java
deleted file mode 100644
index e266f231..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Complex Object</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComplexObject()
15 * @model
16 * @generated
17 */
18public interface ComplexObject extends EObject
19{
20} // ComplexObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
new file mode 100644
index 00000000..9f1967c0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
@@ -0,0 +1,38 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Conjunction</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction()
21 * @model
22 * @generated
23 */
24public interface Conjunction extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Children</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction_Children()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Expression> getChildren();
37
38} // Conjunction
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java
deleted file mode 100644
index 9c957def..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java
+++ /dev/null
@@ -1,109 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Constraint</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams <em>Params</em>}</li>
22 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}</li>
23 * </ul>
24 *
25 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint()
26 * @model
27 * @generated
28 */
29public interface Constraint extends EObject
30{
31 /**
32 * Returns the value of the '<em><b>Polarity</b></em>' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Polarity</em>' containment reference.
36 * @see #setPolarity(Polarity)
37 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Polarity()
38 * @model containment="true"
39 * @generated
40 */
41 Polarity getPolarity();
42
43 /**
44 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Polarity</em>' containment reference.
48 * @see #getPolarity()
49 * @generated
50 */
51 void setPolarity(Polarity value);
52
53 /**
54 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return the value of the '<em>Symbol</em>' containment reference.
58 * @see #setSymbol(ModelSymbol)
59 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Symbol()
60 * @model containment="true"
61 * @generated
62 */
63 ModelSymbol getSymbol();
64
65 /**
66 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @param value the new value of the '<em>Symbol</em>' containment reference.
70 * @see #getSymbol()
71 * @generated
72 */
73 void setSymbol(ModelSymbol value);
74
75 /**
76 * Returns the value of the '<em><b>Params</b></em>' containment reference list.
77 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Literal}.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @return the value of the '<em>Params</em>' containment reference list.
81 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Params()
82 * @model containment="true"
83 * @generated
84 */
85 EList<Literal> getParams();
86
87 /**
88 * Returns the value of the '<em><b>Closure Type</b></em>' containment reference.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return the value of the '<em>Closure Type</em>' containment reference.
92 * @see #setClosureType(ClosureType)
93 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_ClosureType()
94 * @model containment="true"
95 * @generated
96 */
97 ClosureType getClosureType();
98
99 /**
100 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}' containment reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @param value the new value of the '<em>Closure Type</em>' containment reference.
104 * @see #getClosureType()
105 * @generated
106 */
107 void setClosureType(ClosureType value);
108
109} // Constraint
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java
new file mode 100644
index 00000000..f4b95a1e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Count</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount()
20 * @model
21 * @generated
22 */
23public interface Count extends Expression
24{
25 /**
26 * Returns the value of the '<em><b>Body</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Body</em>' containment reference.
30 * @see #setBody(Expression)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount_Body()
32 * @model containment="true"
33 * @generated
34 */
35 Expression getBody();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Body</em>' containment reference.
42 * @see #getBody()
43 * @generated
44 */
45 void setBody(Expression value);
46
47} // Count
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java
deleted file mode 100644
index 79a0af43..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Data Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataObject()
14 * @model
15 * @generated
16 */
17public interface DataObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal
18{
19} // DataObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java
deleted file mode 100644
index eae8175a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Data Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataSymbol()
14 * @model
15 * @generated
16 */
17public interface DataSymbol extends Symbol
18{
19} // DataSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
new file mode 100644
index 00000000..c088f8d7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Default Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition()
21 * @model
22 * @generated
23 */
24public interface DefaultDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Head</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Head</em>' containment reference.
31 * @see #setHead(Call)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Head()
33 * @model containment="true"
34 * @generated
35 */
36 Call getHead();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Head</em>' containment reference.
43 * @see #getHead()
44 * @generated
45 */
46 void setHead(Call value);
47
48 /**
49 * Returns the value of the '<em><b>Range</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Range</em>' containment reference.
53 * @see #setRange(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Range()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getRange();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Range</em>' containment reference.
65 * @see #getRange()
66 * @generated
67 */
68 void setRange(Expression value);
69
70} // DefaultDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java
deleted file mode 100644
index 2e9209f6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Default Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation()
20 * @model
21 * @generated
22 */
23public interface DefaultInterpretation extends Interpretation
24{
25 /**
26 * Returns the value of the '<em><b>Interpretation</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Interpretation</em>' containment reference.
30 * @see #setInterpretation(BasicInterpretation)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation_Interpretation()
32 * @model containment="true"
33 * @generated
34 */
35 BasicInterpretation getInterpretation();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Interpretation</em>' containment reference.
42 * @see #getInterpretation()
43 * @generated
44 */
45 void setInterpretation(BasicInterpretation value);
46
47} // DefaultInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
new file mode 100644
index 00000000..724fc04a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
@@ -0,0 +1,38 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Disjunction</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction()
21 * @model
22 * @generated
23 */
24public interface Disjunction extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Children</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction_Children()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Expression> getChildren();
37
38} // Disjunction
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
new file mode 100644
index 00000000..03f09681
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Empty Interval Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyIntervalLiteral()
14 * @model
15 * @generated
16 */
17public interface EmptyIntervalLiteral extends Literal
18{
19} // EmptyIntervalLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java
deleted file mode 100644
index 8d48c0df..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java
+++ /dev/null
@@ -1,61 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Enum Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects <em>Objects</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation()
22 * @model
23 * @generated
24 */
25public interface EnumInterpretation extends CDInterpretation
26{
27 /**
28 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Symbol</em>' containment reference.
32 * @see #setSymbol(ModelSymbol)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Symbol()
34 * @model containment="true"
35 * @generated
36 */
37 ModelSymbol getSymbol();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Symbol</em>' containment reference.
44 * @see #getSymbol()
45 * @generated
46 */
47 void setSymbol(ModelSymbol value);
48
49 /**
50 * Returns the value of the '<em><b>Objects</b></em>' containment reference list.
51 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Objects</em>' containment reference list.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Objects()
56 * @model containment="true"
57 * @generated
58 */
59 EList<NamedObject> getObjects();
60
61} // EnumInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java
deleted file mode 100644
index 1edb994f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Equals Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEqualsSymbol()
14 * @model
15 * @generated
16 */
17public interface EqualsSymbol extends PartialitySymbol
18{
19} // EqualsSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java
deleted file mode 100644
index bf99bc42..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Error</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getError()
14 * @model
15 * @generated
16 */
17public interface Error extends TruthValue
18{
19} // Error
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
new file mode 100644
index 00000000..33e88fc4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exact Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity()
20 * @model
21 * @generated
22 */
23public interface ExactMultiplicity extends Multiplicity
24{
25 /**
26 * Returns the value of the '<em><b>Multiplicity</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Multiplicity</em>' attribute.
30 * @see #setMultiplicity(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity_Multiplicity()
32 * @model
33 * @generated
34 */
35 int getMultiplicity();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Multiplicity</em>' attribute.
42 * @see #getMultiplicity()
43 * @generated
44 */
45 void setMultiplicity(int value);
46
47} // ExactMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
new file mode 100644
index 00000000..50eb6a00
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exact Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface ExactScopeDefinition extends ScopeDefinition
24{
25 /**
26 * Returns the value of the '<em><b>Exact Scope</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Exact Scope</em>' attribute.
30 * @see #setExactScope(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition_ExactScope()
32 * @model
33 * @generated
34 */
35 int getExactScope();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Exact Scope</em>' attribute.
42 * @see #getExactScope()
43 * @generated
44 */
45 void setExactScope(int value);
46
47} // ExactScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java
deleted file mode 100644
index 4dad3295..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exist Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExistSymbol()
14 * @model
15 * @generated
16 */
17public interface ExistSymbol extends PartialitySymbol
18{
19} // ExistSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
index 908ae5a6..1ecd89a5 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
@@ -1,19 +1,19 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Object</b></em>'. 9 * A representation of the model object '<em><b>Expression</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObject() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface Object extends ComplexObject 17public interface Expression extends Statement
18{ 18{
19} // Object 19} // Expression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
new file mode 100644
index 00000000..518693a1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Expression Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument()
20 * @model
21 * @generated
22 */
23public interface ExpressionArgument extends Argument
24{
25 /**
26 * Returns the value of the '<em><b>Body</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Body</em>' containment reference.
30 * @see #setBody(Expression)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument_Body()
32 * @model containment="true"
33 * @generated
34 */
35 Expression getBody();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Body</em>' containment reference.
42 * @see #getBody()
43 * @generated
44 */
45 void setBody(Expression value);
46
47} // ExpressionArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
new file mode 100644
index 00000000..086c4b27
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
@@ -0,0 +1,73 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Extern Metric Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition()
21 * @model
22 * @generated
23 */
24public interface ExternMetricDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Type</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Type</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
33 * @see #setType(MetricType)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Type()
35 * @model
36 * @generated
37 */
38 MetricType getType();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Type</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
46 * @see #getType()
47 * @generated
48 */
49 void setType(MetricType value);
50
51 /**
52 * Returns the value of the '<em><b>Head</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Head</em>' containment reference.
56 * @see #setHead(Call)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Head()
58 * @model containment="true"
59 * @generated
60 */
61 Call getHead();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Head</em>' containment reference.
68 * @see #getHead()
69 * @generated
70 */
71 void setHead(Call value);
72
73} // ExternMetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
new file mode 100644
index 00000000..56e6b645
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Extern Predicate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition()
20 * @model
21 * @generated
22 */
23public interface ExternPredicateDefinition extends Statement
24{
25 /**
26 * Returns the value of the '<em><b>Head</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Head</em>' containment reference.
30 * @see #setHead(Call)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_Head()
32 * @model containment="true"
33 * @generated
34 */
35 Call getHead();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Head</em>' containment reference.
42 * @see #getHead()
43 * @generated
44 */
45 void setHead(Call value);
46
47} // ExternPredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java
deleted file mode 100644
index 71947237..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>False</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFalse()
14 * @model
15 * @generated
16 */
17public interface False extends TruthValue
18{
19} // False
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java
deleted file mode 100644
index eccf49e0..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java
+++ /dev/null
@@ -1,117 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Field Relation Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment <em>Containment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation()
24 * @model
25 * @generated
26 */
27public interface FieldRelationInterpretation extends EObject
28{
29 /**
30 * Returns the value of the '<em><b>Containment</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Containment</em>' attribute.
34 * @see #setContainment(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Containment()
36 * @model
37 * @generated
38 */
39 boolean isContainment();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment <em>Containment</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Containment</em>' attribute.
46 * @see #isContainment()
47 * @generated
48 */
49 void setContainment(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
74 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>Multiplicity</em>' containment reference.
78 * @see #setMultiplicity(MultiplicityDefinition)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Multiplicity()
80 * @model containment="true"
81 * @generated
82 */
83 MultiplicityDefinition getMultiplicity();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
90 * @see #getMultiplicity()
91 * @generated
92 */
93 void setMultiplicity(MultiplicityDefinition value);
94
95 /**
96 * Returns the value of the '<em><b>Target</b></em>' containment reference.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @return the value of the '<em>Target</em>' containment reference.
100 * @see #setTarget(Symbol)
101 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Target()
102 * @model containment="true"
103 * @generated
104 */
105 Symbol getTarget();
106
107 /**
108 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}' containment reference.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param value the new value of the '<em>Target</em>' containment reference.
112 * @see #getTarget()
113 * @generated
114 */
115 void setTarget(Symbol value);
116
117} // FieldRelationInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java
deleted file mode 100644
index 59ab4278..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java
+++ /dev/null
@@ -1,162 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Global Relation Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment <em>Containment</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}</li>
22 * </ul>
23 *
24 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation()
25 * @model
26 * @generated
27 */
28public interface GlobalRelationInterpretation extends CDInterpretation
29{
30 /**
31 * Returns the value of the '<em><b>Containment</b></em>' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Containment</em>' attribute.
35 * @see #setContainment(boolean)
36 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Containment()
37 * @model
38 * @generated
39 */
40 boolean isContainment();
41
42 /**
43 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment <em>Containment</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Containment</em>' attribute.
47 * @see #isContainment()
48 * @generated
49 */
50 void setContainment(boolean value);
51
52 /**
53 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Symbol</em>' containment reference.
57 * @see #setSymbol(ModelSymbol)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Symbol()
59 * @model containment="true"
60 * @generated
61 */
62 ModelSymbol getSymbol();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Symbol</em>' containment reference.
69 * @see #getSymbol()
70 * @generated
71 */
72 void setSymbol(ModelSymbol value);
73
74 /**
75 * Returns the value of the '<em><b>Source Multiplicity</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Source Multiplicity</em>' containment reference.
79 * @see #setSourceMultiplicity(MultiplicityDefinition)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_SourceMultiplicity()
81 * @model containment="true"
82 * @generated
83 */
84 MultiplicityDefinition getSourceMultiplicity();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Source Multiplicity</em>' containment reference.
91 * @see #getSourceMultiplicity()
92 * @generated
93 */
94 void setSourceMultiplicity(MultiplicityDefinition value);
95
96 /**
97 * Returns the value of the '<em><b>Source</b></em>' containment reference.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return the value of the '<em>Source</em>' containment reference.
101 * @see #setSource(Symbol)
102 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Source()
103 * @model containment="true"
104 * @generated
105 */
106 Symbol getSource();
107
108 /**
109 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}' containment reference.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @param value the new value of the '<em>Source</em>' containment reference.
113 * @see #getSource()
114 * @generated
115 */
116 void setSource(Symbol value);
117
118 /**
119 * Returns the value of the '<em><b>Target Multiplicity</b></em>' containment reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @return the value of the '<em>Target Multiplicity</em>' containment reference.
123 * @see #setTargetMultiplicity(MultiplicityDefinition)
124 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_TargetMultiplicity()
125 * @model containment="true"
126 * @generated
127 */
128 MultiplicityDefinition getTargetMultiplicity();
129
130 /**
131 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}' containment reference.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param value the new value of the '<em>Target Multiplicity</em>' containment reference.
135 * @see #getTargetMultiplicity()
136 * @generated
137 */
138 void setTargetMultiplicity(MultiplicityDefinition value);
139
140 /**
141 * Returns the value of the '<em><b>Target</b></em>' containment reference.
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @return the value of the '<em>Target</em>' containment reference.
145 * @see #setTarget(Symbol)
146 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Target()
147 * @model containment="true"
148 * @generated
149 */
150 Symbol getTarget();
151
152 /**
153 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}' containment reference.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @param value the new value of the '<em>Target</em>' containment reference.
157 * @see #getTarget()
158 * @generated
159 */
160 void setTarget(Symbol value);
161
162} // GlobalRelationInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
new file mode 100644
index 00000000..f08a8420
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
@@ -0,0 +1,93 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>If Else</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse()
22 * @model
23 * @generated
24 */
25public interface IfElse extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Condition</em>' containment reference.
32 * @see #setCondition(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Condition()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getCondition();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Condition</em>' containment reference.
44 * @see #getCondition()
45 * @generated
46 */
47 void setCondition(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Then</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Then</em>' containment reference.
54 * @see #setThen(Expression)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Then()
56 * @model containment="true"
57 * @generated
58 */
59 Expression getThen();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Then</em>' containment reference.
66 * @see #getThen()
67 * @generated
68 */
69 void setThen(Expression value);
70
71 /**
72 * Returns the value of the '<em><b>Else</b></em>' containment reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Else</em>' containment reference.
76 * @see #setElse(Expression)
77 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Else()
78 * @model containment="true"
79 * @generated
80 */
81 Expression getElse();
82
83 /**
84 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}' containment reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Else</em>' containment reference.
88 * @see #getElse()
89 * @generated
90 */
91 void setElse(Expression value);
92
93} // IfElse
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
new file mode 100644
index 00000000..24e9633b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Infinity Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInfinityLiteral()
14 * @model
15 * @generated
16 */
17public interface InfinityLiteral extends Literal
18{
19} // InfinityLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java
deleted file mode 100644
index d1472499..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Integer Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntegerSymbol()
14 * @model
15 * @generated
16 */
17public interface IntegerSymbol extends DataSymbol
18{
19} // IntegerSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
deleted file mode 100644
index 56541016..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation()
14 * @model
15 * @generated
16 */
17public interface Interpretation extends Statement
18{
19} // Interpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
new file mode 100644
index 00000000..3431ef8b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Interval</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval()
21 * @model
22 * @generated
23 */
24public interface Interval extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' containment reference.
31 * @see #setLowerBound(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_LowerBound()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' containment reference.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' containment reference.
53 * @see #setUpperBound(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_UpperBound()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' containment reference.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(Expression value);
69
70} // Interval
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java
deleted file mode 100644
index eca04f1e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Irreflexive Closure</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIrreflexiveClosure()
14 * @model
15 * @generated
16 */
17public interface IrreflexiveClosure extends ClosureType
18{
19} // IrreflexiveClosure
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
index 259abe8c..67d4e64f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
@@ -1,9 +1,8 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.ecore.EObject;
7 6
8/** 7/**
9 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
@@ -15,6 +14,6 @@ import org.eclipse.emf.ecore.EObject;
15 * @model 14 * @model
16 * @generated 15 * @generated
17 */ 16 */
18public interface Literal extends EObject 17public interface Literal extends Expression
19{ 18{
20} // Literal 19} // Literal
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
index 1a42b0c3..b3eb1523 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
@@ -1,47 +1,50 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Int Object</b></em>'. 9 * A representation of the model object '<em><b>Logic Literal</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p> 12 * <p>
13 * The following features are supported: 13 * The following features are supported:
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}</li>
17 * </ul> 17 * </ul>
18 * 18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject() 19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral()
20 * @model 20 * @model
21 * @generated 21 * @generated
22 */ 22 */
23public interface IntObject extends DataObject 23public interface LogicLiteral extends Literal
24{ 24{
25 /** 25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute. 26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue}.
27 * <!-- begin-user-doc --> 28 * <!-- begin-user-doc -->
28 * <!-- end-user-doc --> 29 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute. 30 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(int) 31 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject_Value() 32 * @see #setValue(LogicValue)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral_Value()
32 * @model 34 * @model
33 * @generated 35 * @generated
34 */ 36 */
35 int getValue(); 37 LogicValue getValue();
36 38
37 /** 39 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}' attribute. 40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc --> 41 * <!-- begin-user-doc -->
40 * <!-- end-user-doc --> 42 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute. 43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
42 * @see #getValue() 45 * @see #getValue()
43 * @generated 46 * @generated
44 */ 47 */
45 void setValue(int value); 48 void setValue(LogicValue value);
46 49
47} // IntObject 50} // LogicLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
new file mode 100644
index 00000000..61be81f7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
@@ -0,0 +1,271 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Logic Value</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicValue()
18 * @model
19 * @generated
20 */
21public enum LogicValue implements Enumerator
22{
23 /**
24 * The '<em><b>TRUE</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #TRUE_VALUE
28 * @generated
29 * @ordered
30 */
31 TRUE(0, "TRUE", "true"),
32
33 /**
34 * The '<em><b>FALSE</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #FALSE_VALUE
38 * @generated
39 * @ordered
40 */
41 FALSE(1, "FALSE", "false"),
42
43 /**
44 * The '<em><b>UNKNOWN</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #UNKNOWN_VALUE
48 * @generated
49 * @ordered
50 */
51 UNKNOWN(2, "UNKNOWN", "unknown"),
52
53 /**
54 * The '<em><b>ERROR</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #ERROR_VALUE
58 * @generated
59 * @ordered
60 */
61 ERROR(3, "ERROR", "error");
62
63 /**
64 * The '<em><b>TRUE</b></em>' literal value.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #TRUE
68 * @model literal="true"
69 * @generated
70 * @ordered
71 */
72 public static final int TRUE_VALUE = 0;
73
74 /**
75 * The '<em><b>FALSE</b></em>' literal value.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #FALSE
79 * @model literal="false"
80 * @generated
81 * @ordered
82 */
83 public static final int FALSE_VALUE = 1;
84
85 /**
86 * The '<em><b>UNKNOWN</b></em>' literal value.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #UNKNOWN
90 * @model literal="unknown"
91 * @generated
92 * @ordered
93 */
94 public static final int UNKNOWN_VALUE = 2;
95
96 /**
97 * The '<em><b>ERROR</b></em>' literal value.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @see #ERROR
101 * @model literal="error"
102 * @generated
103 * @ordered
104 */
105 public static final int ERROR_VALUE = 3;
106
107 /**
108 * An array of all the '<em><b>Logic Value</b></em>' enumerators.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 private static final LogicValue[] VALUES_ARRAY =
114 new LogicValue[]
115 {
116 TRUE,
117 FALSE,
118 UNKNOWN,
119 ERROR,
120 };
121
122 /**
123 * A public read-only list of all the '<em><b>Logic Value</b></em>' enumerators.
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public static final List<LogicValue> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
129
130 /**
131 * Returns the '<em><b>Logic Value</b></em>' literal with the specified literal value.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param literal the literal.
135 * @return the matching enumerator or <code>null</code>.
136 * @generated
137 */
138 public static LogicValue get(String literal)
139 {
140 for (int i = 0; i < VALUES_ARRAY.length; ++i)
141 {
142 LogicValue result = VALUES_ARRAY[i];
143 if (result.toString().equals(literal))
144 {
145 return result;
146 }
147 }
148 return null;
149 }
150
151 /**
152 * Returns the '<em><b>Logic Value</b></em>' literal with the specified name.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @param name the name.
156 * @return the matching enumerator or <code>null</code>.
157 * @generated
158 */
159 public static LogicValue getByName(String name)
160 {
161 for (int i = 0; i < VALUES_ARRAY.length; ++i)
162 {
163 LogicValue result = VALUES_ARRAY[i];
164 if (result.getName().equals(name))
165 {
166 return result;
167 }
168 }
169 return null;
170 }
171
172 /**
173 * Returns the '<em><b>Logic Value</b></em>' literal with the specified integer value.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @param value the integer value.
177 * @return the matching enumerator or <code>null</code>.
178 * @generated
179 */
180 public static LogicValue get(int value)
181 {
182 switch (value)
183 {
184 case TRUE_VALUE: return TRUE;
185 case FALSE_VALUE: return FALSE;
186 case UNKNOWN_VALUE: return UNKNOWN;
187 case ERROR_VALUE: return ERROR;
188 }
189 return null;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private final int value;
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 private final String name;
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 private final String literal;
212
213 /**
214 * Only this class can construct instances.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 private LogicValue(int value, String name, String literal)
220 {
221 this.value = value;
222 this.name = name;
223 this.literal = literal;
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public int getValue()
233 {
234 return value;
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public String getName()
244 {
245 return name;
246 }
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 @Override
254 public String getLiteral()
255 {
256 return literal;
257 }
258
259 /**
260 * Returns the literal value of the enumerator, which is its string representation.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public String toString()
267 {
268 return literal;
269 }
270
271} //LogicValue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
new file mode 100644
index 00000000..57edcfda
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Lower Bounded Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface LowerBoundedScopeDefinition extends ScopeDefinition
24{
25 /**
26 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Lower Bound</em>' attribute.
30 * @see #setLowerBound(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition_LowerBound()
32 * @model
33 * @generated
34 */
35 int getLowerBound();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Lower Bound</em>' attribute.
42 * @see #getLowerBound()
43 * @generated
44 */
45 void setLowerBound(int value);
46
47} // LowerBoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
new file mode 100644
index 00000000..4a667d4a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Many Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getManyMultiplicity()
14 * @model
15 * @generated
16 */
17public interface ManyMultiplicity extends Multiplicity
18{
19} // ManyMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
new file mode 100644
index 00000000..3b413c11
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
@@ -0,0 +1,140 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Member Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}</li>
22 * </ul>
23 *
24 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition()
25 * @model
26 * @generated
27 */
28public interface MemberDefinition extends EObject
29{
30 /**
31 * Returns the value of the '<em><b>Containment</b></em>' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Containment</em>' attribute.
35 * @see #setContainment(boolean)
36 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Containment()
37 * @model
38 * @generated
39 */
40 boolean isContainment();
41
42 /**
43 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Containment</em>' attribute.
47 * @see #isContainment()
48 * @generated
49 */
50 void setContainment(boolean value);
51
52 /**
53 * Returns the value of the '<em><b>Type</b></em>' reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Type</em>' reference.
57 * @see #setType(NamedElement)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Type()
59 * @model
60 * @generated
61 */
62 NamedElement getType();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}' reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Type</em>' reference.
69 * @see #getType()
70 * @generated
71 */
72 void setType(NamedElement value);
73
74 /**
75 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Multiplicity</em>' containment reference.
79 * @see #setMultiplicity(Multiplicity)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Multiplicity()
81 * @model containment="true"
82 * @generated
83 */
84 Multiplicity getMultiplicity();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
91 * @see #getMultiplicity()
92 * @generated
93 */
94 void setMultiplicity(Multiplicity value);
95
96 /**
97 * Returns the value of the '<em><b>Name</b></em>' attribute.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return the value of the '<em>Name</em>' attribute.
101 * @see #setName(String)
102 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Name()
103 * @model
104 * @generated
105 */
106 String getName();
107
108 /**
109 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}' attribute.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @param value the new value of the '<em>Name</em>' attribute.
113 * @see #getName()
114 * @generated
115 */
116 void setName(String value);
117
118 /**
119 * Returns the value of the '<em><b>Opposite</b></em>' reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @return the value of the '<em>Opposite</em>' reference.
123 * @see #setOpposite(NamedElement)
124 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Opposite()
125 * @model
126 * @generated
127 */
128 NamedElement getOpposite();
129
130 /**
131 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}' reference.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param value the new value of the '<em>Opposite</em>' reference.
135 * @see #getOpposite()
136 * @generated
137 */
138 void setOpposite(NamedElement value);
139
140} // MemberDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
new file mode 100644
index 00000000..a35ab60c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
@@ -0,0 +1,96 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Metric Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition()
22 * @model
23 * @generated
24 */
25public interface MetricDefinition extends Statement
26{
27 /**
28 * Returns the value of the '<em><b>Head</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Head</em>' containment reference.
32 * @see #setHead(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Head()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getHead();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Head</em>' containment reference.
44 * @see #getHead()
45 * @generated
46 */
47 void setHead(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Body</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Body</em>' containment reference.
54 * @see #setBody(Expression)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Body()
56 * @model containment="true"
57 * @generated
58 */
59 Expression getBody();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Body</em>' containment reference.
66 * @see #getBody()
67 * @generated
68 */
69 void setBody(Expression value);
70
71 /**
72 * Returns the value of the '<em><b>Type</b></em>' attribute.
73 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Type</em>' attribute.
77 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
78 * @see #setType(MetricType)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Type()
80 * @model
81 * @generated
82 */
83 MetricType getType();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}' attribute.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Type</em>' attribute.
90 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
91 * @see #getType()
92 * @generated
93 */
94 void setType(MetricType value);
95
96} // MetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java
new file mode 100644
index 00000000..0aa6a805
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java
@@ -0,0 +1,225 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Metric Type</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricType()
18 * @model
19 * @generated
20 */
21public enum MetricType implements Enumerator
22{
23 /**
24 * The '<em><b>INT</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #INT_VALUE
28 * @generated
29 * @ordered
30 */
31 INT(0, "INT", "int"),
32
33 /**
34 * The '<em><b>REAL</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #REAL_VALUE
38 * @generated
39 * @ordered
40 */
41 REAL(1, "REAL", "real");
42
43 /**
44 * The '<em><b>INT</b></em>' literal value.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #INT
48 * @model literal="int"
49 * @generated
50 * @ordered
51 */
52 public static final int INT_VALUE = 0;
53
54 /**
55 * The '<em><b>REAL</b></em>' literal value.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #REAL
59 * @model literal="real"
60 * @generated
61 * @ordered
62 */
63 public static final int REAL_VALUE = 1;
64
65 /**
66 * An array of all the '<em><b>Metric Type</b></em>' enumerators.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 private static final MetricType[] VALUES_ARRAY =
72 new MetricType[]
73 {
74 INT,
75 REAL,
76 };
77
78 /**
79 * A public read-only list of all the '<em><b>Metric Type</b></em>' enumerators.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public static final List<MetricType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
85
86 /**
87 * Returns the '<em><b>Metric Type</b></em>' literal with the specified literal value.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param literal the literal.
91 * @return the matching enumerator or <code>null</code>.
92 * @generated
93 */
94 public static MetricType get(String literal)
95 {
96 for (int i = 0; i < VALUES_ARRAY.length; ++i)
97 {
98 MetricType result = VALUES_ARRAY[i];
99 if (result.toString().equals(literal))
100 {
101 return result;
102 }
103 }
104 return null;
105 }
106
107 /**
108 * Returns the '<em><b>Metric Type</b></em>' literal with the specified name.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param name the name.
112 * @return the matching enumerator or <code>null</code>.
113 * @generated
114 */
115 public static MetricType getByName(String name)
116 {
117 for (int i = 0; i < VALUES_ARRAY.length; ++i)
118 {
119 MetricType result = VALUES_ARRAY[i];
120 if (result.getName().equals(name))
121 {
122 return result;
123 }
124 }
125 return null;
126 }
127
128 /**
129 * Returns the '<em><b>Metric Type</b></em>' literal with the specified integer value.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param value the integer value.
133 * @return the matching enumerator or <code>null</code>.
134 * @generated
135 */
136 public static MetricType get(int value)
137 {
138 switch (value)
139 {
140 case INT_VALUE: return INT;
141 case REAL_VALUE: return REAL;
142 }
143 return null;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 private final int value;
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 private final String name;
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private final String literal;
166
167 /**
168 * Only this class can construct instances.
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private MetricType(int value, String name, String literal)
174 {
175 this.value = value;
176 this.name = name;
177 this.literal = literal;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public int getValue()
187 {
188 return value;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public String getName()
198 {
199 return name;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String getLiteral()
209 {
210 return literal;
211 }
212
213 /**
214 * Returns the literal value of the enumerator, which is its string representation.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public String toString()
221 {
222 return literal;
223 }
224
225} //MetricType
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
index f9d8dc28..1cbfadd6 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
@@ -7,14 +7,14 @@ import org.eclipse.emf.ecore.EObject;
7 7
8/** 8/**
9 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Closure Type</b></em>'. 10 * A representation of the model object '<em><b>Multiplicity</b></em>'.
11 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
12 * 12 *
13 * 13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClosureType() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicity()
15 * @model 15 * @model
16 * @generated 16 * @generated
17 */ 17 */
18public interface ClosureType extends EObject 18public interface Multiplicity extends EObject
19{ 19{
20} // ClosureType 20} // Multiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java
deleted file mode 100644
index 9b4def59..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java
+++ /dev/null
@@ -1,94 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Multiplicity Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition()
23 * @model
24 * @generated
25 */
26public interface MultiplicityDefinition extends EObject
27{
28 /**
29 * Returns the value of the '<em><b>Lower</b></em>' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Lower</em>' attribute.
33 * @see #setLower(int)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Lower()
35 * @model
36 * @generated
37 */
38 int getLower();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Lower</em>' attribute.
45 * @see #getLower()
46 * @generated
47 */
48 void setLower(int value);
49
50 /**
51 * Returns the value of the '<em><b>Upper</b></em>' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Upper</em>' attribute.
55 * @see #setUpper(int)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Upper()
57 * @model
58 * @generated
59 */
60 int getUpper();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Upper</em>' attribute.
67 * @see #getUpper()
68 * @generated
69 */
70 void setUpper(int value);
71
72 /**
73 * Returns the value of the '<em><b>Unlimited Upper</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Unlimited Upper</em>' attribute.
77 * @see #setUnlimitedUpper(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_UnlimitedUpper()
79 * @model
80 * @generated
81 */
82 boolean isUnlimitedUpper();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Unlimited Upper</em>' attribute.
89 * @see #isUnlimitedUpper()
90 * @generated
91 */
92 void setUnlimitedUpper(boolean value);
93
94} // MultiplicityDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
index 0d91b791..0372da14 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
@@ -1,26 +1,27 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.ecore.EObject;
6 7
7/** 8/**
8 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Model Symbol</b></em>'. 10 * A representation of the model object '<em><b>Named Element</b></em>'.
10 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
11 * 12 *
12 * <p> 13 * <p>
13 * The following features are supported: 14 * The following features are supported:
14 * </p> 15 * </p>
15 * <ul> 16 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}</li>
17 * </ul> 18 * </ul>
18 * 19 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol() 20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement()
20 * @model 21 * @model
21 * @generated 22 * @generated
22 */ 23 */
23public interface ModelSymbol extends Symbol 24public interface NamedElement extends EObject
24{ 25{
25 /** 26 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute. 27 * Returns the value of the '<em><b>Name</b></em>' attribute.
@@ -28,14 +29,14 @@ public interface ModelSymbol extends Symbol
28 * <!-- end-user-doc --> 29 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute. 30 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String) 31 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol_Name() 32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement_Name()
32 * @model 33 * @model
33 * @generated 34 * @generated
34 */ 35 */
35 String getName(); 36 String getName();
36 37
37 /** 38 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}' attribute. 39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc --> 40 * <!-- begin-user-doc -->
40 * <!-- end-user-doc --> 41 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute. 42 * @param value the new value of the '<em>Name</em>' attribute.
@@ -44,4 +45,4 @@ public interface ModelSymbol extends Symbol
44 */ 45 */
45 void setName(String value); 46 void setName(String value);
46 47
47} // ModelSymbol 48} // NamedElement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
deleted file mode 100644
index b44ef060..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Named Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedObject()
20 * @model
21 * @generated
22 */
23public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedObject_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // NamedObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java
deleted file mode 100644
index 5d735fec..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Negative</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNegative()
14 * @model
15 * @generated
16 */
17public interface Negative extends Polarity
18{
19} // Negative
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
index 12e8be3e..9e30d508 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
@@ -7,21 +7,21 @@ import java.math.BigDecimal;
7 7
8/** 8/**
9 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Real Object</b></em>'. 10 * A representation of the model object '<em><b>Numeric Literal</b></em>'.
11 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
12 * 12 *
13 * <p> 13 * <p>
14 * The following features are supported: 14 * The following features are supported:
15 * </p> 15 * </p>
16 * <ul> 16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}</li>
18 * </ul> 18 * </ul>
19 * 19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject() 20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral()
21 * @model 21 * @model
22 * @generated 22 * @generated
23 */ 23 */
24public interface RealObject extends DataObject 24public interface NumericLiteral extends Literal
25{ 25{
26 /** 26 /**
27 * Returns the value of the '<em><b>Value</b></em>' attribute. 27 * Returns the value of the '<em><b>Value</b></em>' attribute.
@@ -29,14 +29,14 @@ public interface RealObject extends DataObject
29 * <!-- end-user-doc --> 29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Value</em>' attribute. 30 * @return the value of the '<em>Value</em>' attribute.
31 * @see #setValue(BigDecimal) 31 * @see #setValue(BigDecimal)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject_Value() 32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral_Value()
33 * @model 33 * @model
34 * @generated 34 * @generated
35 */ 35 */
36 BigDecimal getValue(); 36 BigDecimal getValue();
37 37
38 /** 38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}' attribute. 39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}' attribute.
40 * <!-- begin-user-doc --> 40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc --> 41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Value</em>' attribute. 42 * @param value the new value of the '<em>Value</em>' attribute.
@@ -45,4 +45,4 @@ public interface RealObject extends DataObject
45 */ 45 */
46 void setValue(BigDecimal value); 46 void setValue(BigDecimal value);
47 47
48} // RealObject 48} // NumericLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
new file mode 100644
index 00000000..417a389c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
@@ -0,0 +1,73 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Objective Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition()
21 * @model
22 * @generated
23 */
24public interface ObjectiveDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Kind</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Kind</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
33 * @see #setKind(ObjectiveKind)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Kind()
35 * @model
36 * @generated
37 */
38 ObjectiveKind getKind();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Kind</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
46 * @see #getKind()
47 * @generated
48 */
49 void setKind(ObjectiveKind value);
50
51 /**
52 * Returns the value of the '<em><b>Objective</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Objective</em>' containment reference.
56 * @see #setObjective(Expression)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Objective()
58 * @model containment="true"
59 * @generated
60 */
61 Expression getObjective();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Objective</em>' containment reference.
68 * @see #getObjective()
69 * @generated
70 */
71 void setObjective(Expression value);
72
73} // ObjectiveDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
new file mode 100644
index 00000000..d3a4f626
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
@@ -0,0 +1,225 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Objective Kind</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveKind()
18 * @model
19 * @generated
20 */
21public enum ObjectiveKind implements Enumerator
22{
23 /**
24 * The '<em><b>MINIMIZE</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #MINIMIZE_VALUE
28 * @generated
29 * @ordered
30 */
31 MINIMIZE(0, "MINIMIZE", "minimize"),
32
33 /**
34 * The '<em><b>MAXIMIZE</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #MAXIMIZE_VALUE
38 * @generated
39 * @ordered
40 */
41 MAXIMIZE(1, "MAXIMIZE", "maximize");
42
43 /**
44 * The '<em><b>MINIMIZE</b></em>' literal value.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #MINIMIZE
48 * @model literal="minimize"
49 * @generated
50 * @ordered
51 */
52 public static final int MINIMIZE_VALUE = 0;
53
54 /**
55 * The '<em><b>MAXIMIZE</b></em>' literal value.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #MAXIMIZE
59 * @model literal="maximize"
60 * @generated
61 * @ordered
62 */
63 public static final int MAXIMIZE_VALUE = 1;
64
65 /**
66 * An array of all the '<em><b>Objective Kind</b></em>' enumerators.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 private static final ObjectiveKind[] VALUES_ARRAY =
72 new ObjectiveKind[]
73 {
74 MINIMIZE,
75 MAXIMIZE,
76 };
77
78 /**
79 * A public read-only list of all the '<em><b>Objective Kind</b></em>' enumerators.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public static final List<ObjectiveKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
85
86 /**
87 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified literal value.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param literal the literal.
91 * @return the matching enumerator or <code>null</code>.
92 * @generated
93 */
94 public static ObjectiveKind get(String literal)
95 {
96 for (int i = 0; i < VALUES_ARRAY.length; ++i)
97 {
98 ObjectiveKind result = VALUES_ARRAY[i];
99 if (result.toString().equals(literal))
100 {
101 return result;
102 }
103 }
104 return null;
105 }
106
107 /**
108 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified name.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param name the name.
112 * @return the matching enumerator or <code>null</code>.
113 * @generated
114 */
115 public static ObjectiveKind getByName(String name)
116 {
117 for (int i = 0; i < VALUES_ARRAY.length; ++i)
118 {
119 ObjectiveKind result = VALUES_ARRAY[i];
120 if (result.getName().equals(name))
121 {
122 return result;
123 }
124 }
125 return null;
126 }
127
128 /**
129 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified integer value.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param value the integer value.
133 * @return the matching enumerator or <code>null</code>.
134 * @generated
135 */
136 public static ObjectiveKind get(int value)
137 {
138 switch (value)
139 {
140 case MINIMIZE_VALUE: return MINIMIZE;
141 case MAXIMIZE_VALUE: return MAXIMIZE;
142 }
143 return null;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 private final int value;
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 private final String name;
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private final String literal;
166
167 /**
168 * Only this class can construct instances.
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private ObjectiveKind(int value, String name, String literal)
174 {
175 this.value = value;
176 this.name = name;
177 this.literal = literal;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public int getValue()
187 {
188 return value;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public String getName()
198 {
199 return name;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String getLiteral()
209 {
210 return literal;
211 }
212
213 /**
214 * Returns the literal value of the enumerator, which is its string representation.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public String toString()
221 {
222 return literal;
223 }
224
225} //ObjectiveKind
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java
deleted file mode 100644
index e4ef1c28..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java
+++ /dev/null
@@ -1,71 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Parameter</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter()
22 * @model
23 * @generated
24 */
25public interface Parameter extends EObject
26{
27 /**
28 * Returns the value of the '<em><b>Variable</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Variable</em>' containment reference.
32 * @see #setVariable(Variable)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Variable()
34 * @model containment="true"
35 * @generated
36 */
37 Variable getVariable();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Variable</em>' containment reference.
44 * @see #getVariable()
45 * @generated
46 */
47 void setVariable(Variable value);
48
49 /**
50 * Returns the value of the '<em><b>Type</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Type</em>' containment reference.
54 * @see #setType(Symbol)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Type()
56 * @model containment="true"
57 * @generated
58 */
59 Symbol getType();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Type</em>' containment reference.
66 * @see #getType()
67 * @generated
68 */
69 void setType(Symbol value);
70
71} // Parameter
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java
deleted file mode 100644
index a4331248..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Partiality Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPartialitySymbol()
14 * @model
15 * @generated
16 */
17public interface PartialitySymbol extends Symbol
18{
19} // PartialitySymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java
deleted file mode 100644
index 075a865f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Positive</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPositive()
14 * @model
15 * @generated
16 */
17public interface Positive extends Polarity
18{
19} // Positive
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
deleted file mode 100644
index 7892fd57..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
+++ /dev/null
@@ -1,97 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Predicate</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate()
24 * @model
25 * @generated
26 */
27public interface Predicate extends Statement
28{
29 /**
30 * Returns the value of the '<em><b>Is Error</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Is Error</em>' attribute.
34 * @see #setIsError(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_IsError()
36 * @model
37 * @generated
38 */
39 boolean isIsError();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Is Error</em>' attribute.
46 * @see #isIsError()
47 * @generated
48 */
49 void setIsError(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
74 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Parameters</em>' containment reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Parameters()
80 * @model containment="true"
81 * @generated
82 */
83 EList<Parameter> getParameters();
84
85 /**
86 * Returns the value of the '<em><b>Bodies</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Bodies</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Bodies()
92 * @model containment="true"
93 * @generated
94 */
95 EList<PatternBody> getBodies();
96
97} // Predicate
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
new file mode 100644
index 00000000..256cb5ac
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
@@ -0,0 +1,116 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Predicate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition()
23 * @model
24 * @generated
25 */
26public interface PredicateDefinition extends Statement
27{
28 /**
29 * Returns the value of the '<em><b>Head</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Head</em>' containment reference.
33 * @see #setHead(Expression)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Head()
35 * @model containment="true"
36 * @generated
37 */
38 Expression getHead();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Head</em>' containment reference.
45 * @see #getHead()
46 * @generated
47 */
48 void setHead(Expression value);
49
50 /**
51 * Returns the value of the '<em><b>Body</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Body</em>' containment reference.
55 * @see #setBody(Expression)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Body()
57 * @model containment="true"
58 * @generated
59 */
60 Expression getBody();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Body</em>' containment reference.
67 * @see #getBody()
68 * @generated
69 */
70 void setBody(Expression value);
71
72 /**
73 * Returns the value of the '<em><b>Functional</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Functional</em>' attribute.
77 * @see #setFunctional(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Functional()
79 * @model
80 * @generated
81 */
82 boolean isFunctional();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Functional</em>' attribute.
89 * @see #isFunctional()
90 * @generated
91 */
92 void setFunctional(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Error</b></em>' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Error</em>' attribute.
99 * @see #setError(boolean)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Error()
101 * @model
102 * @generated
103 */
104 boolean isError();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Error</em>' attribute.
111 * @see #isError()
112 * @generated
113 */
114 void setError(boolean value);
115
116} // PredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
index 91967617..2383bf18 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java
deleted file mode 100644
index 06dd35fc..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Real Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealSymbol()
14 * @model
15 * @generated
16 */
17public interface RealSymbol extends DataSymbol
18{
19} // RealSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
new file mode 100644
index 00000000..6adb6a9d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Reference</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference()
20 * @model
21 * @generated
22 */
23public interface Reference extends Expression
24{
25 /**
26 * Returns the value of the '<em><b>Referred</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Referred</em>' reference.
30 * @see #setReferred(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference_Referred()
32 * @model
33 * @generated
34 */
35 NamedElement getReferred();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Referred</em>' reference.
42 * @see #getReferred()
43 * @generated
44 */
45 void setReferred(NamedElement value);
46
47} // Reference
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java
deleted file mode 100644
index 3eb30271..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Reflexive Closure</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReflexiveClosure()
14 * @model
15 * @generated
16 */
17public interface ReflexiveClosure extends ClosureType
18{
19} // ReflexiveClosure
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
new file mode 100644
index 00000000..42fb6513
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface ScopeDefinition extends Statement
24{
25 /**
26 * Returns the value of the '<em><b>Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type</em>' reference.
30 * @see #setType(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition_Type()
32 * @model
33 * @generated
34 */
35 NamedElement getType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Type</em>' reference.
42 * @see #getType()
43 * @generated
44 */
45 void setType(NamedElement value);
46
47} // ScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
index c5d4cbff..cf5c8e62 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
@@ -42,454 +42,400 @@ public interface SolverLanguageFactory extends EFactory
42 Statement createStatement(); 42 Statement createStatement();
43 43
44 /** 44 /**
45 * Returns a new object of class '<em>Boolean Value</em>'. 45 * Returns a new object of class '<em>Predicate Definition</em>'.
46 * <!-- begin-user-doc --> 46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc --> 47 * <!-- end-user-doc -->
48 * @return a new object of class '<em>Boolean Value</em>'. 48 * @return a new object of class '<em>Predicate Definition</em>'.
49 * @generated 49 * @generated
50 */ 50 */
51 BooleanValue createBooleanValue(); 51 PredicateDefinition createPredicateDefinition();
52 52
53 /** 53 /**
54 * Returns a new object of class '<em>Truth Value</em>'. 54 * Returns a new object of class '<em>Unnamed Error Prediate Definition</em>'.
55 * <!-- begin-user-doc --> 55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc --> 56 * <!-- end-user-doc -->
57 * @return a new object of class '<em>Truth Value</em>'. 57 * @return a new object of class '<em>Unnamed Error Prediate Definition</em>'.
58 * @generated 58 * @generated
59 */ 59 */
60 TruthValue createTruthValue(); 60 UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition();
61 61
62 /** 62 /**
63 * Returns a new object of class '<em>Interpretation</em>'. 63 * Returns a new object of class '<em>Default Definition</em>'.
64 * <!-- begin-user-doc --> 64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc --> 65 * <!-- end-user-doc -->
66 * @return a new object of class '<em>Interpretation</em>'. 66 * @return a new object of class '<em>Default Definition</em>'.
67 * @generated 67 * @generated
68 */ 68 */
69 Interpretation createInterpretation(); 69 DefaultDefinition createDefaultDefinition();
70 70
71 /** 71 /**
72 * Returns a new object of class '<em>Basic Interpretation</em>'. 72 * Returns a new object of class '<em>Extern Predicate Definition</em>'.
73 * <!-- begin-user-doc --> 73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc --> 74 * <!-- end-user-doc -->
75 * @return a new object of class '<em>Basic Interpretation</em>'. 75 * @return a new object of class '<em>Extern Predicate Definition</em>'.
76 * @generated 76 * @generated
77 */ 77 */
78 BasicInterpretation createBasicInterpretation(); 78 ExternPredicateDefinition createExternPredicateDefinition();
79 79
80 /** 80 /**
81 * Returns a new object of class '<em>Symbol</em>'. 81 * Returns a new object of class '<em>Metric Definition</em>'.
82 * <!-- begin-user-doc --> 82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc --> 83 * <!-- end-user-doc -->
84 * @return a new object of class '<em>Symbol</em>'. 84 * @return a new object of class '<em>Metric Definition</em>'.
85 * @generated 85 * @generated
86 */ 86 */
87 Symbol createSymbol(); 87 MetricDefinition createMetricDefinition();
88 88
89 /** 89 /**
90 * Returns a new object of class '<em>Model Symbol</em>'. 90 * Returns a new object of class '<em>Extern Metric Definition</em>'.
91 * <!-- begin-user-doc --> 91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc --> 92 * <!-- end-user-doc -->
93 * @return a new object of class '<em>Model Symbol</em>'. 93 * @return a new object of class '<em>Extern Metric Definition</em>'.
94 * @generated 94 * @generated
95 */ 95 */
96 ModelSymbol createModelSymbol(); 96 ExternMetricDefinition createExternMetricDefinition();
97 97
98 /** 98 /**
99 * Returns a new object of class '<em>Partiality Symbol</em>'. 99 * Returns a new object of class '<em>Expression</em>'.
100 * <!-- begin-user-doc --> 100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc --> 101 * <!-- end-user-doc -->
102 * @return a new object of class '<em>Partiality Symbol</em>'. 102 * @return a new object of class '<em>Expression</em>'.
103 * @generated 103 * @generated
104 */ 104 */
105 PartialitySymbol createPartialitySymbol(); 105 Expression createExpression();
106 106
107 /** 107 /**
108 * Returns a new object of class '<em>Exist Symbol</em>'. 108 * Returns a new object of class '<em>If Else</em>'.
109 * <!-- begin-user-doc --> 109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc --> 110 * <!-- end-user-doc -->
111 * @return a new object of class '<em>Exist Symbol</em>'. 111 * @return a new object of class '<em>If Else</em>'.
112 * @generated 112 * @generated
113 */ 113 */
114 ExistSymbol createExistSymbol(); 114 IfElse createIfElse();
115 115
116 /** 116 /**
117 * Returns a new object of class '<em>Equals Symbol</em>'. 117 * Returns a new object of class '<em>Case</em>'.
118 * <!-- begin-user-doc --> 118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc --> 119 * <!-- end-user-doc -->
120 * @return a new object of class '<em>Equals Symbol</em>'. 120 * @return a new object of class '<em>Case</em>'.
121 * @generated 121 * @generated
122 */ 122 */
123 EqualsSymbol createEqualsSymbol(); 123 Case createCase();
124 124
125 /** 125 /**
126 * Returns a new object of class '<em>Data Symbol</em>'. 126 * Returns a new object of class '<em>Count</em>'.
127 * <!-- begin-user-doc --> 127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc --> 128 * <!-- end-user-doc -->
129 * @return a new object of class '<em>Data Symbol</em>'. 129 * @return a new object of class '<em>Count</em>'.
130 * @generated 130 * @generated
131 */ 131 */
132 DataSymbol createDataSymbol(); 132 Count createCount();
133 133
134 /** 134 /**
135 * Returns a new object of class '<em>Boolean Symbol</em>'. 135 * Returns a new object of class '<em>Aggregation</em>'.
136 * <!-- begin-user-doc --> 136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc --> 137 * <!-- end-user-doc -->
138 * @return a new object of class '<em>Boolean Symbol</em>'. 138 * @return a new object of class '<em>Aggregation</em>'.
139 * @generated 139 * @generated
140 */ 140 */
141 BooleanSymbol createBooleanSymbol(); 141 Aggregation createAggregation();
142 142
143 /** 143 /**
144 * Returns a new object of class '<em>Integer Symbol</em>'. 144 * Returns a new object of class '<em>Call</em>'.
145 * <!-- begin-user-doc --> 145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc --> 146 * <!-- end-user-doc -->
147 * @return a new object of class '<em>Integer Symbol</em>'. 147 * @return a new object of class '<em>Call</em>'.
148 * @generated 148 * @generated
149 */ 149 */
150 IntegerSymbol createIntegerSymbol(); 150 Call createCall();
151 151
152 /** 152 /**
153 * Returns a new object of class '<em>Real Symbol</em>'. 153 * Returns a new object of class '<em>Argument List</em>'.
154 * <!-- begin-user-doc --> 154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc --> 155 * <!-- end-user-doc -->
156 * @return a new object of class '<em>Real Symbol</em>'. 156 * @return a new object of class '<em>Argument List</em>'.
157 * @generated 157 * @generated
158 */ 158 */
159 RealSymbol createRealSymbol(); 159 ArgumentList createArgumentList();
160 160
161 /** 161 /**
162 * Returns a new object of class '<em>String Symbol</em>'. 162 * Returns a new object of class '<em>Argument</em>'.
163 * <!-- begin-user-doc --> 163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc --> 164 * <!-- end-user-doc -->
165 * @return a new object of class '<em>String Symbol</em>'. 165 * @return a new object of class '<em>Argument</em>'.
166 * @generated 166 * @generated
167 */ 167 */
168 StringSymbol createStringSymbol(); 168 Argument createArgument();
169 169
170 /** 170 /**
171 * Returns a new object of class '<em>Complex Object</em>'. 171 * Returns a new object of class '<em>Expression Argument</em>'.
172 * <!-- begin-user-doc --> 172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc --> 173 * <!-- end-user-doc -->
174 * @return a new object of class '<em>Complex Object</em>'. 174 * @return a new object of class '<em>Expression Argument</em>'.
175 * @generated 175 * @generated
176 */ 176 */
177 ComplexObject createComplexObject(); 177 ExpressionArgument createExpressionArgument();
178 178
179 /** 179 /**
180 * Returns a new object of class '<em>Object</em>'. 180 * Returns a new object of class '<em>Star Argument</em>'.
181 * <!-- begin-user-doc --> 181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc --> 182 * <!-- end-user-doc -->
183 * @return a new object of class '<em>Object</em>'. 183 * @return a new object of class '<em>Star Argument</em>'.
184 * @generated 184 * @generated
185 */ 185 */
186 Object createObject(); 186 StarArgument createStarArgument();
187 187
188 /** 188 /**
189 * Returns a new object of class '<em>Named Object</em>'. 189 * Returns a new object of class '<em>Typed Argument</em>'.
190 * <!-- begin-user-doc --> 190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc --> 191 * <!-- end-user-doc -->
192 * @return a new object of class '<em>Named Object</em>'. 192 * @return a new object of class '<em>Typed Argument</em>'.
193 * @generated 193 * @generated
194 */ 194 */
195 NamedObject createNamedObject(); 195 TypedArgument createTypedArgument();
196 196
197 /** 197 /**
198 * Returns a new object of class '<em>Unnamed Object</em>'. 198 * Returns a new object of class '<em>Typed Star Argument</em>'.
199 * <!-- begin-user-doc --> 199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc --> 200 * <!-- end-user-doc -->
201 * @return a new object of class '<em>Unnamed Object</em>'. 201 * @return a new object of class '<em>Typed Star Argument</em>'.
202 * @generated 202 * @generated
203 */ 203 */
204 UnnamedObject createUnnamedObject(); 204 TypedStarArgument createTypedStarArgument();
205 205
206 /** 206 /**
207 * Returns a new object of class '<em>Data Object</em>'. 207 * Returns a new object of class '<em>Reference</em>'.
208 * <!-- begin-user-doc --> 208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc --> 209 * <!-- end-user-doc -->
210 * @return a new object of class '<em>Data Object</em>'. 210 * @return a new object of class '<em>Reference</em>'.
211 * @generated 211 * @generated
212 */ 212 */
213 DataObject createDataObject(); 213 Reference createReference();
214 214
215 /** 215 /**
216 * Returns a new object of class '<em>Boolean Object</em>'. 216 * Returns a new object of class '<em>Interval</em>'.
217 * <!-- begin-user-doc --> 217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc --> 218 * <!-- end-user-doc -->
219 * @return a new object of class '<em>Boolean Object</em>'. 219 * @return a new object of class '<em>Interval</em>'.
220 * @generated 220 * @generated
221 */ 221 */
222 BooleanObject createBooleanObject(); 222 Interval createInterval();
223 223
224 /** 224 /**
225 * Returns a new object of class '<em>Int Object</em>'. 225 * Returns a new object of class '<em>Literal</em>'.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @return a new object of class '<em>Int Object</em>'.
229 * @generated
230 */
231 IntObject createIntObject();
232
233 /**
234 * Returns a new object of class '<em>Real Object</em>'.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @return a new object of class '<em>Real Object</em>'.
238 * @generated
239 */
240 RealObject createRealObject();
241
242 /**
243 * Returns a new object of class '<em>String Object</em>'.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @return a new object of class '<em>String Object</em>'.
247 * @generated
248 */
249 StringObject createStringObject();
250
251 /**
252 * Returns a new object of class '<em>Predicate</em>'.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @return a new object of class '<em>Predicate</em>'.
256 * @generated
257 */
258 Predicate createPredicate();
259
260 /**
261 * Returns a new object of class '<em>Parameter</em>'.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @return a new object of class '<em>Parameter</em>'.
265 * @generated
266 */
267 Parameter createParameter();
268
269 /**
270 * Returns a new object of class '<em>Pattern Body</em>'.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @return a new object of class '<em>Pattern Body</em>'.
274 * @generated
275 */
276 PatternBody createPatternBody();
277
278 /**
279 * Returns a new object of class '<em>Polarity</em>'.
280 * <!-- begin-user-doc --> 226 * <!-- begin-user-doc -->
281 * <!-- end-user-doc --> 227 * <!-- end-user-doc -->
282 * @return a new object of class '<em>Polarity</em>'. 228 * @return a new object of class '<em>Literal</em>'.
283 * @generated 229 * @generated
284 */ 230 */
285 Polarity createPolarity(); 231 Literal createLiteral();
286 232
287 /** 233 /**
288 * Returns a new object of class '<em>Constraint</em>'. 234 * Returns a new object of class '<em>Logic Literal</em>'.
289 * <!-- begin-user-doc --> 235 * <!-- begin-user-doc -->
290 * <!-- end-user-doc --> 236 * <!-- end-user-doc -->
291 * @return a new object of class '<em>Constraint</em>'. 237 * @return a new object of class '<em>Logic Literal</em>'.
292 * @generated 238 * @generated
293 */ 239 */
294 Constraint createConstraint(); 240 LogicLiteral createLogicLiteral();
295 241
296 /** 242 /**
297 * Returns a new object of class '<em>Closure Type</em>'. 243 * Returns a new object of class '<em>Numeric Literal</em>'.
298 * <!-- begin-user-doc --> 244 * <!-- begin-user-doc -->
299 * <!-- end-user-doc --> 245 * <!-- end-user-doc -->
300 * @return a new object of class '<em>Closure Type</em>'. 246 * @return a new object of class '<em>Numeric Literal</em>'.
301 * @generated 247 * @generated
302 */ 248 */
303 ClosureType createClosureType(); 249 NumericLiteral createNumericLiteral();
304 250
305 /** 251 /**
306 * Returns a new object of class '<em>Literal</em>'. 252 * Returns a new object of class '<em>Infinity Literal</em>'.
307 * <!-- begin-user-doc --> 253 * <!-- begin-user-doc -->
308 * <!-- end-user-doc --> 254 * <!-- end-user-doc -->
309 * @return a new object of class '<em>Literal</em>'. 255 * @return a new object of class '<em>Infinity Literal</em>'.
310 * @generated 256 * @generated
311 */ 257 */
312 Literal createLiteral(); 258 InfinityLiteral createInfinityLiteral();
313 259
314 /** 260 /**
315 * Returns a new object of class '<em>Variable</em>'. 261 * Returns a new object of class '<em>Empty Interval Literal</em>'.
316 * <!-- begin-user-doc --> 262 * <!-- begin-user-doc -->
317 * <!-- end-user-doc --> 263 * <!-- end-user-doc -->
318 * @return a new object of class '<em>Variable</em>'. 264 * @return a new object of class '<em>Empty Interval Literal</em>'.
319 * @generated 265 * @generated
320 */ 266 */
321 Variable createVariable(); 267 EmptyIntervalLiteral createEmptyIntervalLiteral();
322 268
323 /** 269 /**
324 * Returns a new object of class '<em>All Instances</em>'. 270 * Returns a new object of class '<em>String Literal</em>'.
325 * <!-- begin-user-doc --> 271 * <!-- begin-user-doc -->
326 * <!-- end-user-doc --> 272 * <!-- end-user-doc -->
327 * @return a new object of class '<em>All Instances</em>'. 273 * @return a new object of class '<em>String Literal</em>'.
328 * @generated 274 * @generated
329 */ 275 */
330 AllInstances createAllInstances(); 276 StringLiteral createStringLiteral();
331 277
332 /** 278 /**
333 * Returns a new object of class '<em>All Objects</em>'. 279 * Returns a new object of class '<em>Member Definition</em>'.
334 * <!-- begin-user-doc --> 280 * <!-- begin-user-doc -->
335 * <!-- end-user-doc --> 281 * <!-- end-user-doc -->
336 * @return a new object of class '<em>All Objects</em>'. 282 * @return a new object of class '<em>Member Definition</em>'.
337 * @generated 283 * @generated
338 */ 284 */
339 AllObjects createAllObjects(); 285 MemberDefinition createMemberDefinition();
340 286
341 /** 287 /**
342 * Returns a new object of class '<em>Default Interpretation</em>'. 288 * Returns a new object of class '<em>Multiplicity</em>'.
343 * <!-- begin-user-doc --> 289 * <!-- begin-user-doc -->
344 * <!-- end-user-doc --> 290 * <!-- end-user-doc -->
345 * @return a new object of class '<em>Default Interpretation</em>'. 291 * @return a new object of class '<em>Multiplicity</em>'.
346 * @generated 292 * @generated
347 */ 293 */
348 DefaultInterpretation createDefaultInterpretation(); 294 Multiplicity createMultiplicity();
349 295
350 /** 296 /**
351 * Returns a new object of class '<em>CD Interpretation</em>'. 297 * Returns a new object of class '<em>Many Multiplicity</em>'.
352 * <!-- begin-user-doc --> 298 * <!-- begin-user-doc -->
353 * <!-- end-user-doc --> 299 * <!-- end-user-doc -->
354 * @return a new object of class '<em>CD Interpretation</em>'. 300 * @return a new object of class '<em>Many Multiplicity</em>'.
355 * @generated 301 * @generated
356 */ 302 */
357 CDInterpretation createCDInterpretation(); 303 ManyMultiplicity createManyMultiplicity();
358 304
359 /** 305 /**
360 * Returns a new object of class '<em>Class Interpretation</em>'. 306 * Returns a new object of class '<em>Exact Multiplicity</em>'.
361 * <!-- begin-user-doc --> 307 * <!-- begin-user-doc -->
362 * <!-- end-user-doc --> 308 * <!-- end-user-doc -->
363 * @return a new object of class '<em>Class Interpretation</em>'. 309 * @return a new object of class '<em>Exact Multiplicity</em>'.
364 * @generated 310 * @generated
365 */ 311 */
366 ClassInterpretation createClassInterpretation(); 312 ExactMultiplicity createExactMultiplicity();
367 313
368 /** 314 /**
369 * Returns a new object of class '<em>Enum Interpretation</em>'. 315 * Returns a new object of class '<em>Bounded Multiplicity</em>'.
370 * <!-- begin-user-doc --> 316 * <!-- begin-user-doc -->
371 * <!-- end-user-doc --> 317 * <!-- end-user-doc -->
372 * @return a new object of class '<em>Enum Interpretation</em>'. 318 * @return a new object of class '<em>Bounded Multiplicity</em>'.
373 * @generated 319 * @generated
374 */ 320 */
375 EnumInterpretation createEnumInterpretation(); 321 BoundedMultiplicity createBoundedMultiplicity();
376 322
377 /** 323 /**
378 * Returns a new object of class '<em>Field Relation Interpretation</em>'. 324 * Returns a new object of class '<em>Scope Definition</em>'.
379 * <!-- begin-user-doc --> 325 * <!-- begin-user-doc -->
380 * <!-- end-user-doc --> 326 * <!-- end-user-doc -->
381 * @return a new object of class '<em>Field Relation Interpretation</em>'. 327 * @return a new object of class '<em>Scope Definition</em>'.
382 * @generated 328 * @generated
383 */ 329 */
384 FieldRelationInterpretation createFieldRelationInterpretation(); 330 ScopeDefinition createScopeDefinition();
385 331
386 /** 332 /**
387 * Returns a new object of class '<em>Global Relation Interpretation</em>'. 333 * Returns a new object of class '<em>Exact Scope Definition</em>'.
388 * <!-- begin-user-doc --> 334 * <!-- begin-user-doc -->
389 * <!-- end-user-doc --> 335 * <!-- end-user-doc -->
390 * @return a new object of class '<em>Global Relation Interpretation</em>'. 336 * @return a new object of class '<em>Exact Scope Definition</em>'.
391 * @generated 337 * @generated
392 */ 338 */
393 GlobalRelationInterpretation createGlobalRelationInterpretation(); 339 ExactScopeDefinition createExactScopeDefinition();
394 340
395 /** 341 /**
396 * Returns a new object of class '<em>Multiplicity Definition</em>'. 342 * Returns a new object of class '<em>Bounded Scope Definition</em>'.
397 * <!-- begin-user-doc --> 343 * <!-- begin-user-doc -->
398 * <!-- end-user-doc --> 344 * <!-- end-user-doc -->
399 * @return a new object of class '<em>Multiplicity Definition</em>'. 345 * @return a new object of class '<em>Bounded Scope Definition</em>'.
400 * @generated 346 * @generated
401 */ 347 */
402 MultiplicityDefinition createMultiplicityDefinition(); 348 BoundedScopeDefinition createBoundedScopeDefinition();
403 349
404 /** 350 /**
405 * Returns a new object of class '<em>Boolean True</em>'. 351 * Returns a new object of class '<em>Lower Bounded Scope Definition</em>'.
406 * <!-- begin-user-doc --> 352 * <!-- begin-user-doc -->
407 * <!-- end-user-doc --> 353 * <!-- end-user-doc -->
408 * @return a new object of class '<em>Boolean True</em>'. 354 * @return a new object of class '<em>Lower Bounded Scope Definition</em>'.
409 * @generated 355 * @generated
410 */ 356 */
411 BooleanTrue createBooleanTrue(); 357 LowerBoundedScopeDefinition createLowerBoundedScopeDefinition();
412 358
413 /** 359 /**
414 * Returns a new object of class '<em>Boolean False</em>'. 360 * Returns a new object of class '<em>Objective Definition</em>'.
415 * <!-- begin-user-doc --> 361 * <!-- begin-user-doc -->
416 * <!-- end-user-doc --> 362 * <!-- end-user-doc -->
417 * @return a new object of class '<em>Boolean False</em>'. 363 * @return a new object of class '<em>Objective Definition</em>'.
418 * @generated 364 * @generated
419 */ 365 */
420 BooleanFalse createBooleanFalse(); 366 ObjectiveDefinition createObjectiveDefinition();
421 367
422 /** 368 /**
423 * Returns a new object of class '<em>True</em>'. 369 * Returns a new object of class '<em>Named Element</em>'.
424 * <!-- begin-user-doc --> 370 * <!-- begin-user-doc -->
425 * <!-- end-user-doc --> 371 * <!-- end-user-doc -->
426 * @return a new object of class '<em>True</em>'. 372 * @return a new object of class '<em>Named Element</em>'.
427 * @generated 373 * @generated
428 */ 374 */
429 True createTrue(); 375 NamedElement createNamedElement();
430 376
431 /** 377 /**
432 * Returns a new object of class '<em>False</em>'. 378 * Returns a new object of class '<em>Assertion</em>'.
433 * <!-- begin-user-doc --> 379 * <!-- begin-user-doc -->
434 * <!-- end-user-doc --> 380 * <!-- end-user-doc -->
435 * @return a new object of class '<em>False</em>'. 381 * @return a new object of class '<em>Assertion</em>'.
436 * @generated 382 * @generated
437 */ 383 */
438 False createFalse(); 384 Assertion createAssertion();
439 385
440 /** 386 /**
441 * Returns a new object of class '<em>Unknown</em>'. 387 * Returns a new object of class '<em>Disjunction</em>'.
442 * <!-- begin-user-doc --> 388 * <!-- begin-user-doc -->
443 * <!-- end-user-doc --> 389 * <!-- end-user-doc -->
444 * @return a new object of class '<em>Unknown</em>'. 390 * @return a new object of class '<em>Disjunction</em>'.
445 * @generated 391 * @generated
446 */ 392 */
447 Unknown createUnknown(); 393 Disjunction createDisjunction();
448 394
449 /** 395 /**
450 * Returns a new object of class '<em>Error</em>'. 396 * Returns a new object of class '<em>Switch</em>'.
451 * <!-- begin-user-doc --> 397 * <!-- begin-user-doc -->
452 * <!-- end-user-doc --> 398 * <!-- end-user-doc -->
453 * @return a new object of class '<em>Error</em>'. 399 * @return a new object of class '<em>Switch</em>'.
454 * @generated 400 * @generated
455 */ 401 */
456 Error createError(); 402 Switch createSwitch();
457 403
458 /** 404 /**
459 * Returns a new object of class '<em>Positive</em>'. 405 * Returns a new object of class '<em>Conjunction</em>'.
460 * <!-- begin-user-doc --> 406 * <!-- begin-user-doc -->
461 * <!-- end-user-doc --> 407 * <!-- end-user-doc -->
462 * @return a new object of class '<em>Positive</em>'. 408 * @return a new object of class '<em>Conjunction</em>'.
463 * @generated 409 * @generated
464 */ 410 */
465 Positive createPositive(); 411 Conjunction createConjunction();
466 412
467 /** 413 /**
468 * Returns a new object of class '<em>Negative</em>'. 414 * Returns a new object of class '<em>Comparison</em>'.
469 * <!-- begin-user-doc --> 415 * <!-- begin-user-doc -->
470 * <!-- end-user-doc --> 416 * <!-- end-user-doc -->
471 * @return a new object of class '<em>Negative</em>'. 417 * @return a new object of class '<em>Comparison</em>'.
472 * @generated 418 * @generated
473 */ 419 */
474 Negative createNegative(); 420 Comparison createComparison();
475 421
476 /** 422 /**
477 * Returns a new object of class '<em>Reflexive Closure</em>'. 423 * Returns a new object of class '<em>Binary Expression</em>'.
478 * <!-- begin-user-doc --> 424 * <!-- begin-user-doc -->
479 * <!-- end-user-doc --> 425 * <!-- end-user-doc -->
480 * @return a new object of class '<em>Reflexive Closure</em>'. 426 * @return a new object of class '<em>Binary Expression</em>'.
481 * @generated 427 * @generated
482 */ 428 */
483 ReflexiveClosure createReflexiveClosure(); 429 BinaryExpression createBinaryExpression();
484 430
485 /** 431 /**
486 * Returns a new object of class '<em>Irreflexive Closure</em>'. 432 * Returns a new object of class '<em>Unary Expression</em>'.
487 * <!-- begin-user-doc --> 433 * <!-- begin-user-doc -->
488 * <!-- end-user-doc --> 434 * <!-- end-user-doc -->
489 * @return a new object of class '<em>Irreflexive Closure</em>'. 435 * @return a new object of class '<em>Unary Expression</em>'.
490 * @generated 436 * @generated
491 */ 437 */
492 IrreflexiveClosure createIrreflexiveClosure(); 438 UnaryExpression createUnaryExpression();
493 439
494 /** 440 /**
495 * Returns the package supported by this factory. 441 * Returns the package supported by this factory.
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
index 9767d002..d34acdb8 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
@@ -1,10 +1,11 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.ecore.EAttribute; 6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass; 7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage; 9import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference; 10import org.eclipse.emf.ecore.EReference;
10 11
@@ -96,145 +97,232 @@ public interface SolverLanguagePackage extends EPackage
96 int STATEMENT = 1; 97 int STATEMENT = 1;
97 98
98 /** 99 /**
100 * The feature id for the '<em><b>Abstract</b></em>' attribute.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 * @ordered
105 */
106 int STATEMENT__ABSTRACT = 0;
107
108 /**
109 * The feature id for the '<em><b>Name</b></em>' attribute.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 * @ordered
114 */
115 int STATEMENT__NAME = 1;
116
117 /**
118 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int STATEMENT__SUPERCLASSES = 2;
125
126 /**
127 * The feature id for the '<em><b>Members</b></em>' containment reference list.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int STATEMENT__MEMBERS = 3;
134
135 /**
99 * The number of structural features of the '<em>Statement</em>' class. 136 * The number of structural features of the '<em>Statement</em>' class.
100 * <!-- begin-user-doc --> 137 * <!-- begin-user-doc -->
101 * <!-- end-user-doc --> 138 * <!-- end-user-doc -->
102 * @generated 139 * @generated
103 * @ordered 140 * @ordered
104 */ 141 */
105 int STATEMENT_FEATURE_COUNT = 0; 142 int STATEMENT_FEATURE_COUNT = 4;
106 143
107 /** 144 /**
108 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl <em>Boolean Value</em>}' class. 145 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
109 * <!-- begin-user-doc --> 146 * <!-- begin-user-doc -->
110 * <!-- end-user-doc --> 147 * <!-- end-user-doc -->
111 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl 148 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
112 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue() 149 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
113 * @generated 150 * @generated
114 */ 151 */
115 int BOOLEAN_VALUE = 2; 152 int PREDICATE_DEFINITION = 2;
116 153
117 /** 154 /**
118 * The number of structural features of the '<em>Boolean Value</em>' class. 155 * The feature id for the '<em><b>Abstract</b></em>' attribute.
119 * <!-- begin-user-doc --> 156 * <!-- begin-user-doc -->
120 * <!-- end-user-doc --> 157 * <!-- end-user-doc -->
121 * @generated 158 * @generated
122 * @ordered 159 * @ordered
123 */ 160 */
124 int BOOLEAN_VALUE_FEATURE_COUNT = 0; 161 int PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
125 162
126 /** 163 /**
127 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl <em>Truth Value</em>}' class. 164 * The feature id for the '<em><b>Name</b></em>' attribute.
128 * <!-- begin-user-doc --> 165 * <!-- begin-user-doc -->
129 * <!-- end-user-doc --> 166 * <!-- end-user-doc -->
130 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl
131 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue()
132 * @generated 167 * @generated
168 * @ordered
133 */ 169 */
134 int TRUTH_VALUE = 3; 170 int PREDICATE_DEFINITION__NAME = STATEMENT__NAME;
135 171
136 /** 172 /**
137 * The number of structural features of the '<em>Truth Value</em>' class. 173 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
138 * <!-- begin-user-doc --> 174 * <!-- begin-user-doc -->
139 * <!-- end-user-doc --> 175 * <!-- end-user-doc -->
140 * @generated 176 * @generated
141 * @ordered 177 * @ordered
142 */ 178 */
143 int TRUTH_VALUE_FEATURE_COUNT = 0; 179 int PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
144 180
145 /** 181 /**
146 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class. 182 * The feature id for the '<em><b>Members</b></em>' containment reference list.
147 * <!-- begin-user-doc --> 183 * <!-- begin-user-doc -->
148 * <!-- end-user-doc --> 184 * <!-- end-user-doc -->
149 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
150 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
151 * @generated 185 * @generated
186 * @ordered
152 */ 187 */
153 int INTERPRETATION = 4; 188 int PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
154 189
155 /** 190 /**
156 * The number of structural features of the '<em>Interpretation</em>' class. 191 * The feature id for the '<em><b>Head</b></em>' containment reference.
157 * <!-- begin-user-doc --> 192 * <!-- begin-user-doc -->
158 * <!-- end-user-doc --> 193 * <!-- end-user-doc -->
159 * @generated 194 * @generated
160 * @ordered 195 * @ordered
161 */ 196 */
162 int INTERPRETATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; 197 int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
163 198
164 /** 199 /**
165 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl <em>Basic Interpretation</em>}' class. 200 * The feature id for the '<em><b>Body</b></em>' containment reference.
166 * <!-- begin-user-doc --> 201 * <!-- begin-user-doc -->
167 * <!-- end-user-doc --> 202 * <!-- end-user-doc -->
168 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl
169 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation()
170 * @generated 203 * @generated
204 * @ordered
171 */ 205 */
172 int BASIC_INTERPRETATION = 5; 206 int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
173 207
174 /** 208 /**
175 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 209 * The feature id for the '<em><b>Functional</b></em>' attribute.
176 * <!-- begin-user-doc --> 210 * <!-- begin-user-doc -->
177 * <!-- end-user-doc --> 211 * <!-- end-user-doc -->
178 * @generated 212 * @generated
179 * @ordered 213 * @ordered
180 */ 214 */
181 int BASIC_INTERPRETATION__SYMBOL = INTERPRETATION_FEATURE_COUNT + 0; 215 int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2;
182 216
183 /** 217 /**
184 * The feature id for the '<em><b>Objects</b></em>' containment reference list. 218 * The feature id for the '<em><b>Error</b></em>' attribute.
185 * <!-- begin-user-doc --> 219 * <!-- begin-user-doc -->
186 * <!-- end-user-doc --> 220 * <!-- end-user-doc -->
187 * @generated 221 * @generated
188 * @ordered 222 * @ordered
189 */ 223 */
190 int BASIC_INTERPRETATION__OBJECTS = INTERPRETATION_FEATURE_COUNT + 1; 224 int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3;
191 225
192 /** 226 /**
193 * The feature id for the '<em><b>Value</b></em>' containment reference. 227 * The number of structural features of the '<em>Predicate Definition</em>' class.
194 * <!-- begin-user-doc --> 228 * <!-- begin-user-doc -->
195 * <!-- end-user-doc --> 229 * <!-- end-user-doc -->
196 * @generated 230 * @generated
197 * @ordered 231 * @ordered
198 */ 232 */
199 int BASIC_INTERPRETATION__VALUE = INTERPRETATION_FEATURE_COUNT + 2; 233 int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
234
235 /**
236 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
240 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
241 * @generated
242 */
243 int UNNAMED_ERROR_PREDIATE_DEFINITION = 3;
200 244
201 /** 245 /**
202 * The number of structural features of the '<em>Basic Interpretation</em>' class. 246 * The feature id for the '<em><b>Abstract</b></em>' attribute.
203 * <!-- begin-user-doc --> 247 * <!-- begin-user-doc -->
204 * <!-- end-user-doc --> 248 * <!-- end-user-doc -->
205 * @generated 249 * @generated
206 * @ordered 250 * @ordered
207 */ 251 */
208 int BASIC_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 3; 252 int UNNAMED_ERROR_PREDIATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
209 253
210 /** 254 /**
211 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl <em>Symbol</em>}' class. 255 * The feature id for the '<em><b>Name</b></em>' attribute.
212 * <!-- begin-user-doc --> 256 * <!-- begin-user-doc -->
213 * <!-- end-user-doc --> 257 * <!-- end-user-doc -->
214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl
215 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol()
216 * @generated 258 * @generated
259 * @ordered
217 */ 260 */
218 int SYMBOL = 6; 261 int UNNAMED_ERROR_PREDIATE_DEFINITION__NAME = STATEMENT__NAME;
219 262
220 /** 263 /**
221 * The number of structural features of the '<em>Symbol</em>' class. 264 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
222 * <!-- begin-user-doc --> 265 * <!-- begin-user-doc -->
223 * <!-- end-user-doc --> 266 * <!-- end-user-doc -->
224 * @generated 267 * @generated
225 * @ordered 268 * @ordered
226 */ 269 */
227 int SYMBOL_FEATURE_COUNT = 0; 270 int UNNAMED_ERROR_PREDIATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
228 271
229 /** 272 /**
230 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl <em>Model Symbol</em>}' class. 273 * The feature id for the '<em><b>Members</b></em>' containment reference list.
231 * <!-- begin-user-doc --> 274 * <!-- begin-user-doc -->
232 * <!-- end-user-doc --> 275 * <!-- end-user-doc -->
233 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl
234 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol()
235 * @generated 276 * @generated
277 * @ordered
236 */ 278 */
237 int MODEL_SYMBOL = 7; 279 int UNNAMED_ERROR_PREDIATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
280
281 /**
282 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0;
289
290 /**
291 * The feature id for the '<em><b>Body</b></em>' containment reference.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
298
299 /**
300 * The number of structural features of the '<em>Unnamed Error Prediate Definition</em>' class.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
307
308 /**
309 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
313 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
314 * @generated
315 */
316 int DEFAULT_DEFINITION = 4;
317
318 /**
319 * The feature id for the '<em><b>Abstract</b></em>' attribute.
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @generated
323 * @ordered
324 */
325 int DEFAULT_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
238 326
239 /** 327 /**
240 * The feature id for the '<em><b>Name</b></em>' attribute. 328 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -243,216 +331,290 @@ public interface SolverLanguagePackage extends EPackage
243 * @generated 331 * @generated
244 * @ordered 332 * @ordered
245 */ 333 */
246 int MODEL_SYMBOL__NAME = SYMBOL_FEATURE_COUNT + 0; 334 int DEFAULT_DEFINITION__NAME = STATEMENT__NAME;
335
336 /**
337 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 * @ordered
342 */
343 int DEFAULT_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
344
345 /**
346 * The feature id for the '<em><b>Members</b></em>' containment reference list.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int DEFAULT_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
353
354 /**
355 * The feature id for the '<em><b>Head</b></em>' containment reference.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 * @ordered
360 */
361 int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
362
363 /**
364 * The feature id for the '<em><b>Range</b></em>' containment reference.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 * @ordered
369 */
370 int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1;
247 371
248 /** 372 /**
249 * The number of structural features of the '<em>Model Symbol</em>' class. 373 * The number of structural features of the '<em>Default Definition</em>' class.
250 * <!-- begin-user-doc --> 374 * <!-- begin-user-doc -->
251 * <!-- end-user-doc --> 375 * <!-- end-user-doc -->
252 * @generated 376 * @generated
253 * @ordered 377 * @ordered
254 */ 378 */
255 int MODEL_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 1; 379 int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
380
381 /**
382 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
386 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
387 * @generated
388 */
389 int EXTERN_PREDICATE_DEFINITION = 5;
256 390
257 /** 391 /**
258 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl <em>Partiality Symbol</em>}' class. 392 * The feature id for the '<em><b>Abstract</b></em>' attribute.
259 * <!-- begin-user-doc --> 393 * <!-- begin-user-doc -->
260 * <!-- end-user-doc --> 394 * <!-- end-user-doc -->
261 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl
262 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol()
263 * @generated 395 * @generated
396 * @ordered
264 */ 397 */
265 int PARTIALITY_SYMBOL = 8; 398 int EXTERN_PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
266 399
267 /** 400 /**
268 * The number of structural features of the '<em>Partiality Symbol</em>' class. 401 * The feature id for the '<em><b>Name</b></em>' attribute.
269 * <!-- begin-user-doc --> 402 * <!-- begin-user-doc -->
270 * <!-- end-user-doc --> 403 * <!-- end-user-doc -->
271 * @generated 404 * @generated
272 * @ordered 405 * @ordered
273 */ 406 */
274 int PARTIALITY_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0; 407 int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT__NAME;
275 408
276 /** 409 /**
277 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl <em>Exist Symbol</em>}' class. 410 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
278 * <!-- begin-user-doc --> 411 * <!-- begin-user-doc -->
279 * <!-- end-user-doc --> 412 * <!-- end-user-doc -->
280 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl
281 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol()
282 * @generated 413 * @generated
414 * @ordered
283 */ 415 */
284 int EXIST_SYMBOL = 9; 416 int EXTERN_PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
285 417
286 /** 418 /**
287 * The number of structural features of the '<em>Exist Symbol</em>' class. 419 * The feature id for the '<em><b>Members</b></em>' containment reference list.
288 * <!-- begin-user-doc --> 420 * <!-- begin-user-doc -->
289 * <!-- end-user-doc --> 421 * <!-- end-user-doc -->
290 * @generated 422 * @generated
291 * @ordered 423 * @ordered
292 */ 424 */
293 int EXIST_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0; 425 int EXTERN_PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
294 426
295 /** 427 /**
296 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl <em>Equals Symbol</em>}' class. 428 * The feature id for the '<em><b>Head</b></em>' containment reference.
297 * <!-- begin-user-doc --> 429 * <!-- begin-user-doc -->
298 * <!-- end-user-doc --> 430 * <!-- end-user-doc -->
299 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl
300 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol()
301 * @generated 431 * @generated
432 * @ordered
302 */ 433 */
303 int EQUALS_SYMBOL = 10; 434 int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
304 435
305 /** 436 /**
306 * The number of structural features of the '<em>Equals Symbol</em>' class. 437 * The number of structural features of the '<em>Extern Predicate Definition</em>' class.
307 * <!-- begin-user-doc --> 438 * <!-- begin-user-doc -->
308 * <!-- end-user-doc --> 439 * <!-- end-user-doc -->
309 * @generated 440 * @generated
310 * @ordered 441 * @ordered
311 */ 442 */
312 int EQUALS_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0; 443 int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
313 444
314 /** 445 /**
315 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl <em>Data Symbol</em>}' class. 446 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
316 * <!-- begin-user-doc --> 447 * <!-- begin-user-doc -->
317 * <!-- end-user-doc --> 448 * <!-- end-user-doc -->
318 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl 449 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol() 450 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
320 * @generated 451 * @generated
321 */ 452 */
322 int DATA_SYMBOL = 11; 453 int METRIC_DEFINITION = 6;
323 454
324 /** 455 /**
325 * The number of structural features of the '<em>Data Symbol</em>' class. 456 * The feature id for the '<em><b>Abstract</b></em>' attribute.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 * @ordered
461 */
462 int METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
463
464 /**
465 * The feature id for the '<em><b>Name</b></em>' attribute.
326 * <!-- begin-user-doc --> 466 * <!-- begin-user-doc -->
327 * <!-- end-user-doc --> 467 * <!-- end-user-doc -->
328 * @generated 468 * @generated
329 * @ordered 469 * @ordered
330 */ 470 */
331 int DATA_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0; 471 int METRIC_DEFINITION__NAME = STATEMENT__NAME;
332 472
333 /** 473 /**
334 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl <em>Boolean Symbol</em>}' class. 474 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
335 * <!-- begin-user-doc --> 475 * <!-- begin-user-doc -->
336 * <!-- end-user-doc --> 476 * <!-- end-user-doc -->
337 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl
338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol()
339 * @generated 477 * @generated
478 * @ordered
340 */ 479 */
341 int BOOLEAN_SYMBOL = 12; 480 int METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
342 481
343 /** 482 /**
344 * The number of structural features of the '<em>Boolean Symbol</em>' class. 483 * The feature id for the '<em><b>Members</b></em>' containment reference list.
345 * <!-- begin-user-doc --> 484 * <!-- begin-user-doc -->
346 * <!-- end-user-doc --> 485 * <!-- end-user-doc -->
347 * @generated 486 * @generated
348 * @ordered 487 * @ordered
349 */ 488 */
350 int BOOLEAN_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 489 int METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
351 490
352 /** 491 /**
353 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl <em>Integer Symbol</em>}' class. 492 * The feature id for the '<em><b>Head</b></em>' containment reference.
354 * <!-- begin-user-doc --> 493 * <!-- begin-user-doc -->
355 * <!-- end-user-doc --> 494 * <!-- end-user-doc -->
356 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl
357 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol()
358 * @generated 495 * @generated
496 * @ordered
359 */ 497 */
360 int INTEGER_SYMBOL = 13; 498 int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
361 499
362 /** 500 /**
363 * The number of structural features of the '<em>Integer Symbol</em>' class. 501 * The feature id for the '<em><b>Body</b></em>' containment reference.
364 * <!-- begin-user-doc --> 502 * <!-- begin-user-doc -->
365 * <!-- end-user-doc --> 503 * <!-- end-user-doc -->
366 * @generated 504 * @generated
367 * @ordered 505 * @ordered
368 */ 506 */
369 int INTEGER_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 507 int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
370 508
371 /** 509 /**
372 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl <em>Real Symbol</em>}' class. 510 * The feature id for the '<em><b>Type</b></em>' attribute.
373 * <!-- begin-user-doc --> 511 * <!-- begin-user-doc -->
374 * <!-- end-user-doc --> 512 * <!-- end-user-doc -->
375 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl
376 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol()
377 * @generated 513 * @generated
514 * @ordered
378 */ 515 */
379 int REAL_SYMBOL = 14; 516 int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2;
380 517
381 /** 518 /**
382 * The number of structural features of the '<em>Real Symbol</em>' class. 519 * The number of structural features of the '<em>Metric Definition</em>' class.
383 * <!-- begin-user-doc --> 520 * <!-- begin-user-doc -->
384 * <!-- end-user-doc --> 521 * <!-- end-user-doc -->
385 * @generated 522 * @generated
386 * @ordered 523 * @ordered
387 */ 524 */
388 int REAL_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 525 int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
389 526
390 /** 527 /**
391 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl <em>String Symbol</em>}' class. 528 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
392 * <!-- begin-user-doc --> 529 * <!-- begin-user-doc -->
393 * <!-- end-user-doc --> 530 * <!-- end-user-doc -->
394 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl 531 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
395 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol() 532 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
396 * @generated 533 * @generated
397 */ 534 */
398 int STRING_SYMBOL = 15; 535 int EXTERN_METRIC_DEFINITION = 7;
399 536
400 /** 537 /**
401 * The number of structural features of the '<em>String Symbol</em>' class. 538 * The feature id for the '<em><b>Abstract</b></em>' attribute.
539 * <!-- begin-user-doc -->
540 * <!-- end-user-doc -->
541 * @generated
542 * @ordered
543 */
544 int EXTERN_METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
545
546 /**
547 * The feature id for the '<em><b>Name</b></em>' attribute.
402 * <!-- begin-user-doc --> 548 * <!-- begin-user-doc -->
403 * <!-- end-user-doc --> 549 * <!-- end-user-doc -->
404 * @generated 550 * @generated
405 * @ordered 551 * @ordered
406 */ 552 */
407 int STRING_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 553 int EXTERN_METRIC_DEFINITION__NAME = STATEMENT__NAME;
408 554
409 /** 555 /**
410 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl <em>Complex Object</em>}' class. 556 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
411 * <!-- begin-user-doc --> 557 * <!-- begin-user-doc -->
412 * <!-- end-user-doc --> 558 * <!-- end-user-doc -->
413 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl
414 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject()
415 * @generated 559 * @generated
560 * @ordered
416 */ 561 */
417 int COMPLEX_OBJECT = 16; 562 int EXTERN_METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
418 563
419 /** 564 /**
420 * The number of structural features of the '<em>Complex Object</em>' class. 565 * The feature id for the '<em><b>Members</b></em>' containment reference list.
421 * <!-- begin-user-doc --> 566 * <!-- begin-user-doc -->
422 * <!-- end-user-doc --> 567 * <!-- end-user-doc -->
423 * @generated 568 * @generated
424 * @ordered 569 * @ordered
425 */ 570 */
426 int COMPLEX_OBJECT_FEATURE_COUNT = 0; 571 int EXTERN_METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
427 572
428 /** 573 /**
429 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl <em>Object</em>}' class. 574 * The feature id for the '<em><b>Type</b></em>' attribute.
430 * <!-- begin-user-doc --> 575 * <!-- begin-user-doc -->
431 * <!-- end-user-doc --> 576 * <!-- end-user-doc -->
432 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl
433 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject()
434 * @generated 577 * @generated
578 * @ordered
435 */ 579 */
436 int OBJECT = 17; 580 int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
437 581
438 /** 582 /**
439 * The number of structural features of the '<em>Object</em>' class. 583 * The feature id for the '<em><b>Head</b></em>' containment reference.
440 * <!-- begin-user-doc --> 584 * <!-- begin-user-doc -->
441 * <!-- end-user-doc --> 585 * <!-- end-user-doc -->
442 * @generated 586 * @generated
443 * @ordered 587 * @ordered
444 */ 588 */
445 int OBJECT_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0; 589 int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1;
446 590
447 /** 591 /**
448 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl <em>Named Object</em>}' class. 592 * The number of structural features of the '<em>Extern Metric Definition</em>' class.
449 * <!-- begin-user-doc --> 593 * <!-- begin-user-doc -->
450 * <!-- end-user-doc --> 594 * <!-- end-user-doc -->
451 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl
452 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject()
453 * @generated 595 * @generated
596 * @ordered
454 */ 597 */
455 int NAMED_OBJECT = 18; 598 int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
599
600 /**
601 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
602 * <!-- begin-user-doc -->
603 * <!-- end-user-doc -->
604 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
605 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
606 * @generated
607 */
608 int EXPRESSION = 8;
609
610 /**
611 * The feature id for the '<em><b>Abstract</b></em>' attribute.
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @generated
615 * @ordered
616 */
617 int EXPRESSION__ABSTRACT = STATEMENT__ABSTRACT;
456 618
457 /** 619 /**
458 * The feature id for the '<em><b>Name</b></em>' attribute. 620 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -461,26 +623,53 @@ public interface SolverLanguagePackage extends EPackage
461 * @generated 623 * @generated
462 * @ordered 624 * @ordered
463 */ 625 */
464 int NAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0; 626 int EXPRESSION__NAME = STATEMENT__NAME;
627
628 /**
629 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 * @ordered
634 */
635 int EXPRESSION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
465 636
466 /** 637 /**
467 * The number of structural features of the '<em>Named Object</em>' class. 638 * The feature id for the '<em><b>Members</b></em>' containment reference list.
468 * <!-- begin-user-doc --> 639 * <!-- begin-user-doc -->
469 * <!-- end-user-doc --> 640 * <!-- end-user-doc -->
470 * @generated 641 * @generated
471 * @ordered 642 * @ordered
472 */ 643 */
473 int NAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1; 644 int EXPRESSION__MEMBERS = STATEMENT__MEMBERS;
474 645
475 /** 646 /**
476 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl <em>Unnamed Object</em>}' class. 647 * The number of structural features of the '<em>Expression</em>' class.
477 * <!-- begin-user-doc --> 648 * <!-- begin-user-doc -->
478 * <!-- end-user-doc --> 649 * <!-- end-user-doc -->
479 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl
480 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject()
481 * @generated 650 * @generated
651 * @ordered
482 */ 652 */
483 int UNNAMED_OBJECT = 19; 653 int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0;
654
655 /**
656 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
657 * <!-- begin-user-doc -->
658 * <!-- end-user-doc -->
659 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
660 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
661 * @generated
662 */
663 int IF_ELSE = 9;
664
665 /**
666 * The feature id for the '<em><b>Abstract</b></em>' attribute.
667 * <!-- begin-user-doc -->
668 * <!-- end-user-doc -->
669 * @generated
670 * @ordered
671 */
672 int IF_ELSE__ABSTRACT = EXPRESSION__ABSTRACT;
484 673
485 /** 674 /**
486 * The feature id for the '<em><b>Name</b></em>' attribute. 675 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -489,360 +678,667 @@ public interface SolverLanguagePackage extends EPackage
489 * @generated 678 * @generated
490 * @ordered 679 * @ordered
491 */ 680 */
492 int UNNAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0; 681 int IF_ELSE__NAME = EXPRESSION__NAME;
493 682
494 /** 683 /**
495 * The number of structural features of the '<em>Unnamed Object</em>' class. 684 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
496 * <!-- begin-user-doc --> 685 * <!-- begin-user-doc -->
497 * <!-- end-user-doc --> 686 * <!-- end-user-doc -->
498 * @generated 687 * @generated
499 * @ordered 688 * @ordered
500 */ 689 */
501 int UNNAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1; 690 int IF_ELSE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
502 691
503 /** 692 /**
504 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl <em>Data Object</em>}' class. 693 * The feature id for the '<em><b>Members</b></em>' containment reference list.
505 * <!-- begin-user-doc --> 694 * <!-- begin-user-doc -->
506 * <!-- end-user-doc --> 695 * <!-- end-user-doc -->
507 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl
508 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject()
509 * @generated 696 * @generated
697 * @ordered
510 */ 698 */
511 int DATA_OBJECT = 20; 699 int IF_ELSE__MEMBERS = EXPRESSION__MEMBERS;
512 700
513 /** 701 /**
514 * The number of structural features of the '<em>Data Object</em>' class. 702 * The feature id for the '<em><b>Condition</b></em>' containment reference.
515 * <!-- begin-user-doc --> 703 * <!-- begin-user-doc -->
516 * <!-- end-user-doc --> 704 * <!-- end-user-doc -->
517 * @generated 705 * @generated
518 * @ordered 706 * @ordered
519 */ 707 */
520 int DATA_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 0; 708 int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
521 709
522 /** 710 /**
523 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl <em>Boolean Object</em>}' class. 711 * The feature id for the '<em><b>Then</b></em>' containment reference.
524 * <!-- begin-user-doc --> 712 * <!-- begin-user-doc -->
525 * <!-- end-user-doc --> 713 * <!-- end-user-doc -->
526 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl
527 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject()
528 * @generated 714 * @generated
715 * @ordered
529 */ 716 */
530 int BOOLEAN_OBJECT = 21; 717 int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1;
531 718
532 /** 719 /**
533 * The feature id for the '<em><b>Value</b></em>' containment reference. 720 * The feature id for the '<em><b>Else</b></em>' containment reference.
534 * <!-- begin-user-doc --> 721 * <!-- begin-user-doc -->
535 * <!-- end-user-doc --> 722 * <!-- end-user-doc -->
536 * @generated 723 * @generated
537 * @ordered 724 * @ordered
538 */ 725 */
539 int BOOLEAN_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 726 int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2;
540 727
541 /** 728 /**
542 * The number of structural features of the '<em>Boolean Object</em>' class. 729 * The number of structural features of the '<em>If Else</em>' class.
543 * <!-- begin-user-doc --> 730 * <!-- begin-user-doc -->
544 * <!-- end-user-doc --> 731 * <!-- end-user-doc -->
545 * @generated 732 * @generated
546 * @ordered 733 * @ordered
547 */ 734 */
548 int BOOLEAN_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 735 int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
549 736
550 /** 737 /**
551 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl <em>Int Object</em>}' class. 738 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
552 * <!-- begin-user-doc --> 739 * <!-- begin-user-doc -->
553 * <!-- end-user-doc --> 740 * <!-- end-user-doc -->
554 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl 741 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
555 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject() 742 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
556 * @generated 743 * @generated
557 */ 744 */
558 int INT_OBJECT = 22; 745 int CASE = 10;
559 746
560 /** 747 /**
561 * The feature id for the '<em><b>Value</b></em>' attribute. 748 * The feature id for the '<em><b>Abstract</b></em>' attribute.
562 * <!-- begin-user-doc --> 749 * <!-- begin-user-doc -->
563 * <!-- end-user-doc --> 750 * <!-- end-user-doc -->
564 * @generated 751 * @generated
565 * @ordered 752 * @ordered
566 */ 753 */
567 int INT_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 754 int CASE__ABSTRACT = EXPRESSION__ABSTRACT;
568 755
569 /** 756 /**
570 * The number of structural features of the '<em>Int Object</em>' class. 757 * The feature id for the '<em><b>Name</b></em>' attribute.
571 * <!-- begin-user-doc --> 758 * <!-- begin-user-doc -->
572 * <!-- end-user-doc --> 759 * <!-- end-user-doc -->
573 * @generated 760 * @generated
574 * @ordered 761 * @ordered
575 */ 762 */
576 int INT_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 763 int CASE__NAME = EXPRESSION__NAME;
577 764
578 /** 765 /**
579 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl <em>Real Object</em>}' class. 766 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
580 * <!-- begin-user-doc --> 767 * <!-- begin-user-doc -->
581 * <!-- end-user-doc --> 768 * <!-- end-user-doc -->
582 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl
583 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject()
584 * @generated 769 * @generated
770 * @ordered
585 */ 771 */
586 int REAL_OBJECT = 23; 772 int CASE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
587 773
588 /** 774 /**
589 * The feature id for the '<em><b>Value</b></em>' attribute. 775 * The feature id for the '<em><b>Members</b></em>' containment reference list.
590 * <!-- begin-user-doc --> 776 * <!-- begin-user-doc -->
591 * <!-- end-user-doc --> 777 * <!-- end-user-doc -->
592 * @generated 778 * @generated
593 * @ordered 779 * @ordered
594 */ 780 */
595 int REAL_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 781 int CASE__MEMBERS = EXPRESSION__MEMBERS;
596 782
597 /** 783 /**
598 * The number of structural features of the '<em>Real Object</em>' class. 784 * The feature id for the '<em><b>Condition</b></em>' containment reference.
599 * <!-- begin-user-doc --> 785 * <!-- begin-user-doc -->
600 * <!-- end-user-doc --> 786 * <!-- end-user-doc -->
601 * @generated 787 * @generated
602 * @ordered 788 * @ordered
603 */ 789 */
604 int REAL_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 790 int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
605 791
606 /** 792 /**
607 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl <em>String Object</em>}' class. 793 * The feature id for the '<em><b>Body</b></em>' containment reference.
608 * <!-- begin-user-doc --> 794 * <!-- begin-user-doc -->
609 * <!-- end-user-doc --> 795 * <!-- end-user-doc -->
610 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl
611 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject()
612 * @generated 796 * @generated
797 * @ordered
613 */ 798 */
614 int STRING_OBJECT = 24; 799 int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1;
615 800
616 /** 801 /**
617 * The feature id for the '<em><b>Value</b></em>' attribute. 802 * The number of structural features of the '<em>Case</em>' class.
618 * <!-- begin-user-doc --> 803 * <!-- begin-user-doc -->
619 * <!-- end-user-doc --> 804 * <!-- end-user-doc -->
620 * @generated 805 * @generated
621 * @ordered 806 * @ordered
622 */ 807 */
623 int STRING_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 808 int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
624 809
625 /** 810 /**
626 * The number of structural features of the '<em>String Object</em>' class. 811 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
812 * <!-- begin-user-doc -->
813 * <!-- end-user-doc -->
814 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
815 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
816 * @generated
817 */
818 int COUNT = 11;
819
820 /**
821 * The feature id for the '<em><b>Abstract</b></em>' attribute.
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @generated
825 * @ordered
826 */
827 int COUNT__ABSTRACT = EXPRESSION__ABSTRACT;
828
829 /**
830 * The feature id for the '<em><b>Name</b></em>' attribute.
627 * <!-- begin-user-doc --> 831 * <!-- begin-user-doc -->
628 * <!-- end-user-doc --> 832 * <!-- end-user-doc -->
629 * @generated 833 * @generated
630 * @ordered 834 * @ordered
631 */ 835 */
632 int STRING_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 836 int COUNT__NAME = EXPRESSION__NAME;
633 837
634 /** 838 /**
635 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class. 839 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
636 * <!-- begin-user-doc --> 840 * <!-- begin-user-doc -->
637 * <!-- end-user-doc --> 841 * <!-- end-user-doc -->
638 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
639 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
640 * @generated 842 * @generated
843 * @ordered
641 */ 844 */
642 int PREDICATE = 25; 845 int COUNT__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
643 846
644 /** 847 /**
645 * The feature id for the '<em><b>Is Error</b></em>' attribute. 848 * The feature id for the '<em><b>Members</b></em>' containment reference list.
646 * <!-- begin-user-doc --> 849 * <!-- begin-user-doc -->
647 * <!-- end-user-doc --> 850 * <!-- end-user-doc -->
648 * @generated 851 * @generated
649 * @ordered 852 * @ordered
650 */ 853 */
651 int PREDICATE__IS_ERROR = STATEMENT_FEATURE_COUNT + 0; 854 int COUNT__MEMBERS = EXPRESSION__MEMBERS;
652 855
653 /** 856 /**
654 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 857 * The feature id for the '<em><b>Body</b></em>' containment reference.
655 * <!-- begin-user-doc --> 858 * <!-- begin-user-doc -->
656 * <!-- end-user-doc --> 859 * <!-- end-user-doc -->
657 * @generated 860 * @generated
658 * @ordered 861 * @ordered
659 */ 862 */
660 int PREDICATE__SYMBOL = STATEMENT_FEATURE_COUNT + 1; 863 int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0;
661 864
662 /** 865 /**
663 * The feature id for the '<em><b>Parameters</b></em>' containment reference list. 866 * The number of structural features of the '<em>Count</em>' class.
664 * <!-- begin-user-doc --> 867 * <!-- begin-user-doc -->
665 * <!-- end-user-doc --> 868 * <!-- end-user-doc -->
666 * @generated 869 * @generated
667 * @ordered 870 * @ordered
668 */ 871 */
669 int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 2; 872 int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
873
874 /**
875 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
876 * <!-- begin-user-doc -->
877 * <!-- end-user-doc -->
878 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
879 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
880 * @generated
881 */
882 int AGGREGATION = 12;
670 883
671 /** 884 /**
672 * The feature id for the '<em><b>Bodies</b></em>' containment reference list. 885 * The feature id for the '<em><b>Abstract</b></em>' attribute.
673 * <!-- begin-user-doc --> 886 * <!-- begin-user-doc -->
674 * <!-- end-user-doc --> 887 * <!-- end-user-doc -->
675 * @generated 888 * @generated
676 * @ordered 889 * @ordered
677 */ 890 */
678 int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 3; 891 int AGGREGATION__ABSTRACT = EXPRESSION__ABSTRACT;
679 892
680 /** 893 /**
681 * The number of structural features of the '<em>Predicate</em>' class. 894 * The feature id for the '<em><b>Name</b></em>' attribute.
682 * <!-- begin-user-doc --> 895 * <!-- begin-user-doc -->
683 * <!-- end-user-doc --> 896 * <!-- end-user-doc -->
684 * @generated 897 * @generated
685 * @ordered 898 * @ordered
686 */ 899 */
687 int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; 900 int AGGREGATION__NAME = EXPRESSION__NAME;
688 901
689 /** 902 /**
690 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class. 903 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
691 * <!-- begin-user-doc --> 904 * <!-- begin-user-doc -->
692 * <!-- end-user-doc --> 905 * <!-- end-user-doc -->
693 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl
694 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter()
695 * @generated 906 * @generated
907 * @ordered
696 */ 908 */
697 int PARAMETER = 26; 909 int AGGREGATION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
698 910
699 /** 911 /**
700 * The feature id for the '<em><b>Variable</b></em>' containment reference. 912 * The feature id for the '<em><b>Members</b></em>' containment reference list.
701 * <!-- begin-user-doc --> 913 * <!-- begin-user-doc -->
702 * <!-- end-user-doc --> 914 * <!-- end-user-doc -->
703 * @generated 915 * @generated
704 * @ordered 916 * @ordered
705 */ 917 */
706 int PARAMETER__VARIABLE = 0; 918 int AGGREGATION__MEMBERS = EXPRESSION__MEMBERS;
707 919
708 /** 920 /**
709 * The feature id for the '<em><b>Type</b></em>' containment reference. 921 * The feature id for the '<em><b>Op</b></em>' attribute.
710 * <!-- begin-user-doc --> 922 * <!-- begin-user-doc -->
711 * <!-- end-user-doc --> 923 * <!-- end-user-doc -->
712 * @generated 924 * @generated
713 * @ordered 925 * @ordered
714 */ 926 */
715 int PARAMETER__TYPE = 1; 927 int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0;
716 928
717 /** 929 /**
718 * The number of structural features of the '<em>Parameter</em>' class. 930 * The feature id for the '<em><b>Body</b></em>' containment reference.
719 * <!-- begin-user-doc --> 931 * <!-- begin-user-doc -->
720 * <!-- end-user-doc --> 932 * <!-- end-user-doc -->
721 * @generated 933 * @generated
722 * @ordered 934 * @ordered
723 */ 935 */
724 int PARAMETER_FEATURE_COUNT = 2; 936 int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1;
725 937
726 /** 938 /**
727 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl <em>Pattern Body</em>}' class. 939 * The feature id for the '<em><b>Condition</b></em>' containment reference.
728 * <!-- begin-user-doc --> 940 * <!-- begin-user-doc -->
729 * <!-- end-user-doc --> 941 * <!-- end-user-doc -->
730 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl
731 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody()
732 * @generated 942 * @generated
943 * @ordered
733 */ 944 */
734 int PATTERN_BODY = 27; 945 int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2;
735 946
736 /** 947 /**
737 * The feature id for the '<em><b>Constraints</b></em>' containment reference list. 948 * The number of structural features of the '<em>Aggregation</em>' class.
738 * <!-- begin-user-doc --> 949 * <!-- begin-user-doc -->
739 * <!-- end-user-doc --> 950 * <!-- end-user-doc -->
740 * @generated 951 * @generated
741 * @ordered 952 * @ordered
742 */ 953 */
743 int PATTERN_BODY__CONSTRAINTS = 0; 954 int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
744 955
745 /** 956 /**
746 * The number of structural features of the '<em>Pattern Body</em>' class. 957 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
958 * <!-- begin-user-doc -->
959 * <!-- end-user-doc -->
960 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
961 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
962 * @generated
963 */
964 int CALL = 13;
965
966 /**
967 * The feature id for the '<em><b>Abstract</b></em>' attribute.
747 * <!-- begin-user-doc --> 968 * <!-- begin-user-doc -->
748 * <!-- end-user-doc --> 969 * <!-- end-user-doc -->
749 * @generated 970 * @generated
750 * @ordered 971 * @ordered
751 */ 972 */
752 int PATTERN_BODY_FEATURE_COUNT = 1; 973 int CALL__ABSTRACT = EXPRESSION__ABSTRACT;
753 974
754 /** 975 /**
755 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl <em>Polarity</em>}' class. 976 * The feature id for the '<em><b>Name</b></em>' attribute.
756 * <!-- begin-user-doc --> 977 * <!-- begin-user-doc -->
757 * <!-- end-user-doc --> 978 * <!-- end-user-doc -->
758 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl
759 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity()
760 * @generated 979 * @generated
980 * @ordered
761 */ 981 */
762 int POLARITY = 28; 982 int CALL__NAME = EXPRESSION__NAME;
763 983
764 /** 984 /**
765 * The number of structural features of the '<em>Polarity</em>' class. 985 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
766 * <!-- begin-user-doc --> 986 * <!-- begin-user-doc -->
767 * <!-- end-user-doc --> 987 * <!-- end-user-doc -->
768 * @generated 988 * @generated
769 * @ordered 989 * @ordered
770 */ 990 */
771 int POLARITY_FEATURE_COUNT = 0; 991 int CALL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
772 992
773 /** 993 /**
774 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl <em>Constraint</em>}' class. 994 * The feature id for the '<em><b>Members</b></em>' containment reference list.
775 * <!-- begin-user-doc --> 995 * <!-- begin-user-doc -->
776 * <!-- end-user-doc --> 996 * <!-- end-user-doc -->
777 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl
778 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint()
779 * @generated 997 * @generated
998 * @ordered
780 */ 999 */
781 int CONSTRAINT = 29; 1000 int CALL__MEMBERS = EXPRESSION__MEMBERS;
782 1001
783 /** 1002 /**
784 * The feature id for the '<em><b>Polarity</b></em>' containment reference. 1003 * The feature id for the '<em><b>Functor</b></em>' containment reference.
785 * <!-- begin-user-doc --> 1004 * <!-- begin-user-doc -->
786 * <!-- end-user-doc --> 1005 * <!-- end-user-doc -->
787 * @generated 1006 * @generated
788 * @ordered 1007 * @ordered
789 */ 1008 */
790 int CONSTRAINT__POLARITY = 0; 1009 int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0;
791 1010
792 /** 1011 /**
793 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1012 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
794 * <!-- begin-user-doc --> 1013 * <!-- begin-user-doc -->
795 * <!-- end-user-doc --> 1014 * <!-- end-user-doc -->
796 * @generated 1015 * @generated
797 * @ordered 1016 * @ordered
798 */ 1017 */
799 int CONSTRAINT__SYMBOL = 1; 1018 int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 1;
800 1019
801 /** 1020 /**
802 * The feature id for the '<em><b>Params</b></em>' containment reference list. 1021 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
803 * <!-- begin-user-doc --> 1022 * <!-- begin-user-doc -->
804 * <!-- end-user-doc --> 1023 * <!-- end-user-doc -->
805 * @generated 1024 * @generated
806 * @ordered 1025 * @ordered
807 */ 1026 */
808 int CONSTRAINT__PARAMS = 2; 1027 int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2;
809 1028
810 /** 1029 /**
811 * The feature id for the '<em><b>Closure Type</b></em>' containment reference. 1030 * The feature id for the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
812 * <!-- begin-user-doc --> 1031 * <!-- begin-user-doc -->
813 * <!-- end-user-doc --> 1032 * <!-- end-user-doc -->
814 * @generated 1033 * @generated
815 * @ordered 1034 * @ordered
816 */ 1035 */
817 int CONSTRAINT__CLOSURE_TYPE = 3; 1036 int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 3;
818 1037
819 /** 1038 /**
820 * The number of structural features of the '<em>Constraint</em>' class. 1039 * The number of structural features of the '<em>Call</em>' class.
821 * <!-- begin-user-doc --> 1040 * <!-- begin-user-doc -->
822 * <!-- end-user-doc --> 1041 * <!-- end-user-doc -->
823 * @generated 1042 * @generated
824 * @ordered 1043 * @ordered
825 */ 1044 */
826 int CONSTRAINT_FEATURE_COUNT = 4; 1045 int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
1046
1047 /**
1048 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
1049 * <!-- begin-user-doc -->
1050 * <!-- end-user-doc -->
1051 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
1052 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
1053 * @generated
1054 */
1055 int ARGUMENT_LIST = 14;
827 1056
828 /** 1057 /**
829 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl <em>Closure Type</em>}' class. 1058 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
830 * <!-- begin-user-doc --> 1059 * <!-- begin-user-doc -->
831 * <!-- end-user-doc --> 1060 * <!-- end-user-doc -->
832 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl
833 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType()
834 * @generated 1061 * @generated
1062 * @ordered
835 */ 1063 */
836 int CLOSURE_TYPE = 30; 1064 int ARGUMENT_LIST__ARGUMENTS = 0;
837 1065
838 /** 1066 /**
839 * The number of structural features of the '<em>Closure Type</em>' class. 1067 * The number of structural features of the '<em>Argument List</em>' class.
840 * <!-- begin-user-doc --> 1068 * <!-- begin-user-doc -->
841 * <!-- end-user-doc --> 1069 * <!-- end-user-doc -->
842 * @generated 1070 * @generated
843 * @ordered 1071 * @ordered
844 */ 1072 */
845 int CLOSURE_TYPE_FEATURE_COUNT = 0; 1073 int ARGUMENT_LIST_FEATURE_COUNT = 1;
1074
1075 /**
1076 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
1077 * <!-- begin-user-doc -->
1078 * <!-- end-user-doc -->
1079 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
1080 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
1081 * @generated
1082 */
1083 int ARGUMENT = 15;
1084
1085 /**
1086 * The number of structural features of the '<em>Argument</em>' class.
1087 * <!-- begin-user-doc -->
1088 * <!-- end-user-doc -->
1089 * @generated
1090 * @ordered
1091 */
1092 int ARGUMENT_FEATURE_COUNT = 0;
1093
1094 /**
1095 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
1096 * <!-- begin-user-doc -->
1097 * <!-- end-user-doc -->
1098 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
1099 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
1100 * @generated
1101 */
1102 int EXPRESSION_ARGUMENT = 16;
1103
1104 /**
1105 * The feature id for the '<em><b>Body</b></em>' containment reference.
1106 * <!-- begin-user-doc -->
1107 * <!-- end-user-doc -->
1108 * @generated
1109 * @ordered
1110 */
1111 int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0;
1112
1113 /**
1114 * The number of structural features of the '<em>Expression Argument</em>' class.
1115 * <!-- begin-user-doc -->
1116 * <!-- end-user-doc -->
1117 * @generated
1118 * @ordered
1119 */
1120 int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
1121
1122 /**
1123 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
1124 * <!-- begin-user-doc -->
1125 * <!-- end-user-doc -->
1126 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
1127 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
1128 * @generated
1129 */
1130 int STAR_ARGUMENT = 17;
1131
1132 /**
1133 * The number of structural features of the '<em>Star Argument</em>' class.
1134 * <!-- begin-user-doc -->
1135 * <!-- end-user-doc -->
1136 * @generated
1137 * @ordered
1138 */
1139 int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0;
1140
1141 /**
1142 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
1143 * <!-- begin-user-doc -->
1144 * <!-- end-user-doc -->
1145 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
1146 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
1147 * @generated
1148 */
1149 int TYPED_ARGUMENT = 18;
1150
1151 /**
1152 * The feature id for the '<em><b>Type</b></em>' reference.
1153 * <!-- begin-user-doc -->
1154 * <!-- end-user-doc -->
1155 * @generated
1156 * @ordered
1157 */
1158 int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
1159
1160 /**
1161 * The feature id for the '<em><b>Variable</b></em>' reference.
1162 * <!-- begin-user-doc -->
1163 * <!-- end-user-doc -->
1164 * @generated
1165 * @ordered
1166 */
1167 int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1;
1168
1169 /**
1170 * The number of structural features of the '<em>Typed Argument</em>' class.
1171 * <!-- begin-user-doc -->
1172 * <!-- end-user-doc -->
1173 * @generated
1174 * @ordered
1175 */
1176 int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2;
1177
1178 /**
1179 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
1180 * <!-- begin-user-doc -->
1181 * <!-- end-user-doc -->
1182 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
1183 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
1184 * @generated
1185 */
1186 int TYPED_STAR_ARGUMENT = 19;
1187
1188 /**
1189 * The feature id for the '<em><b>Type</b></em>' reference.
1190 * <!-- begin-user-doc -->
1191 * <!-- end-user-doc -->
1192 * @generated
1193 * @ordered
1194 */
1195 int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
1196
1197 /**
1198 * The number of structural features of the '<em>Typed Star Argument</em>' class.
1199 * <!-- begin-user-doc -->
1200 * <!-- end-user-doc -->
1201 * @generated
1202 * @ordered
1203 */
1204 int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
1205
1206 /**
1207 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
1208 * <!-- begin-user-doc -->
1209 * <!-- end-user-doc -->
1210 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
1211 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
1212 * @generated
1213 */
1214 int REFERENCE = 20;
1215
1216 /**
1217 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1218 * <!-- begin-user-doc -->
1219 * <!-- end-user-doc -->
1220 * @generated
1221 * @ordered
1222 */
1223 int REFERENCE__ABSTRACT = EXPRESSION__ABSTRACT;
1224
1225 /**
1226 * The feature id for the '<em><b>Name</b></em>' attribute.
1227 * <!-- begin-user-doc -->
1228 * <!-- end-user-doc -->
1229 * @generated
1230 * @ordered
1231 */
1232 int REFERENCE__NAME = EXPRESSION__NAME;
1233
1234 /**
1235 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1236 * <!-- begin-user-doc -->
1237 * <!-- end-user-doc -->
1238 * @generated
1239 * @ordered
1240 */
1241 int REFERENCE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1242
1243 /**
1244 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1245 * <!-- begin-user-doc -->
1246 * <!-- end-user-doc -->
1247 * @generated
1248 * @ordered
1249 */
1250 int REFERENCE__MEMBERS = EXPRESSION__MEMBERS;
1251
1252 /**
1253 * The feature id for the '<em><b>Referred</b></em>' reference.
1254 * <!-- begin-user-doc -->
1255 * <!-- end-user-doc -->
1256 * @generated
1257 * @ordered
1258 */
1259 int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0;
1260
1261 /**
1262 * The number of structural features of the '<em>Reference</em>' class.
1263 * <!-- begin-user-doc -->
1264 * <!-- end-user-doc -->
1265 * @generated
1266 * @ordered
1267 */
1268 int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1269
1270 /**
1271 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
1275 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
1276 * @generated
1277 */
1278 int INTERVAL = 21;
1279
1280 /**
1281 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1282 * <!-- begin-user-doc -->
1283 * <!-- end-user-doc -->
1284 * @generated
1285 * @ordered
1286 */
1287 int INTERVAL__ABSTRACT = EXPRESSION__ABSTRACT;
1288
1289 /**
1290 * The feature id for the '<em><b>Name</b></em>' attribute.
1291 * <!-- begin-user-doc -->
1292 * <!-- end-user-doc -->
1293 * @generated
1294 * @ordered
1295 */
1296 int INTERVAL__NAME = EXPRESSION__NAME;
1297
1298 /**
1299 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1300 * <!-- begin-user-doc -->
1301 * <!-- end-user-doc -->
1302 * @generated
1303 * @ordered
1304 */
1305 int INTERVAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1306
1307 /**
1308 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1309 * <!-- begin-user-doc -->
1310 * <!-- end-user-doc -->
1311 * @generated
1312 * @ordered
1313 */
1314 int INTERVAL__MEMBERS = EXPRESSION__MEMBERS;
1315
1316 /**
1317 * The feature id for the '<em><b>Lower Bound</b></em>' containment reference.
1318 * <!-- begin-user-doc -->
1319 * <!-- end-user-doc -->
1320 * @generated
1321 * @ordered
1322 */
1323 int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0;
1324
1325 /**
1326 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
1327 * <!-- begin-user-doc -->
1328 * <!-- end-user-doc -->
1329 * @generated
1330 * @ordered
1331 */
1332 int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1;
1333
1334 /**
1335 * The number of structural features of the '<em>Interval</em>' class.
1336 * <!-- begin-user-doc -->
1337 * <!-- end-user-doc -->
1338 * @generated
1339 * @ordered
1340 */
1341 int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
846 1342
847 /** 1343 /**
848 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class. 1344 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
@@ -852,7 +1348,43 @@ public interface SolverLanguagePackage extends EPackage
852 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() 1348 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
853 * @generated 1349 * @generated
854 */ 1350 */
855 int LITERAL = 31; 1351 int LITERAL = 22;
1352
1353 /**
1354 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1355 * <!-- begin-user-doc -->
1356 * <!-- end-user-doc -->
1357 * @generated
1358 * @ordered
1359 */
1360 int LITERAL__ABSTRACT = EXPRESSION__ABSTRACT;
1361
1362 /**
1363 * The feature id for the '<em><b>Name</b></em>' attribute.
1364 * <!-- begin-user-doc -->
1365 * <!-- end-user-doc -->
1366 * @generated
1367 * @ordered
1368 */
1369 int LITERAL__NAME = EXPRESSION__NAME;
1370
1371 /**
1372 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1373 * <!-- begin-user-doc -->
1374 * <!-- end-user-doc -->
1375 * @generated
1376 * @ordered
1377 */
1378 int LITERAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1379
1380 /**
1381 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1382 * <!-- begin-user-doc -->
1383 * <!-- end-user-doc -->
1384 * @generated
1385 * @ordered
1386 */
1387 int LITERAL__MEMBERS = EXPRESSION__MEMBERS;
856 1388
857 /** 1389 /**
858 * The number of structural features of the '<em>Literal</em>' class. 1390 * The number of structural features of the '<em>Literal</em>' class.
@@ -861,17 +1393,26 @@ public interface SolverLanguagePackage extends EPackage
861 * @generated 1393 * @generated
862 * @ordered 1394 * @ordered
863 */ 1395 */
864 int LITERAL_FEATURE_COUNT = 0; 1396 int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
865 1397
866 /** 1398 /**
867 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class. 1399 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
868 * <!-- begin-user-doc --> 1400 * <!-- begin-user-doc -->
869 * <!-- end-user-doc --> 1401 * <!-- end-user-doc -->
870 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl 1402 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
871 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() 1403 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
872 * @generated 1404 * @generated
873 */ 1405 */
874 int VARIABLE = 32; 1406 int LOGIC_LITERAL = 23;
1407
1408 /**
1409 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1410 * <!-- begin-user-doc -->
1411 * <!-- end-user-doc -->
1412 * @generated
1413 * @ordered
1414 */
1415 int LOGIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
875 1416
876 /** 1417 /**
877 * The feature id for the '<em><b>Name</b></em>' attribute. 1418 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -880,120 +1421,117 @@ public interface SolverLanguagePackage extends EPackage
880 * @generated 1421 * @generated
881 * @ordered 1422 * @ordered
882 */ 1423 */
883 int VARIABLE__NAME = LITERAL_FEATURE_COUNT + 0; 1424 int LOGIC_LITERAL__NAME = LITERAL__NAME;
884 1425
885 /** 1426 /**
886 * The number of structural features of the '<em>Variable</em>' class. 1427 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
887 * <!-- begin-user-doc --> 1428 * <!-- begin-user-doc -->
888 * <!-- end-user-doc --> 1429 * <!-- end-user-doc -->
889 * @generated 1430 * @generated
890 * @ordered 1431 * @ordered
891 */ 1432 */
892 int VARIABLE_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; 1433 int LOGIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
893 1434
894 /** 1435 /**
895 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl <em>All Instances</em>}' class. 1436 * The feature id for the '<em><b>Members</b></em>' containment reference list.
896 * <!-- begin-user-doc --> 1437 * <!-- begin-user-doc -->
897 * <!-- end-user-doc --> 1438 * <!-- end-user-doc -->
898 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl
899 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances()
900 * @generated 1439 * @generated
1440 * @ordered
901 */ 1441 */
902 int ALL_INSTANCES = 33; 1442 int LOGIC_LITERAL__MEMBERS = LITERAL__MEMBERS;
903 1443
904 /** 1444 /**
905 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1445 * The feature id for the '<em><b>Value</b></em>' attribute.
906 * <!-- begin-user-doc --> 1446 * <!-- begin-user-doc -->
907 * <!-- end-user-doc --> 1447 * <!-- end-user-doc -->
908 * @generated 1448 * @generated
909 * @ordered 1449 * @ordered
910 */ 1450 */
911 int ALL_INSTANCES__SYMBOL = COMPLEX_OBJECT_FEATURE_COUNT + 0; 1451 int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
912 1452
913 /** 1453 /**
914 * The number of structural features of the '<em>All Instances</em>' class. 1454 * The number of structural features of the '<em>Logic Literal</em>' class.
915 * <!-- begin-user-doc --> 1455 * <!-- begin-user-doc -->
916 * <!-- end-user-doc --> 1456 * <!-- end-user-doc -->
917 * @generated 1457 * @generated
918 * @ordered 1458 * @ordered
919 */ 1459 */
920 int ALL_INSTANCES_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 1; 1460 int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
921 1461
922 /** 1462 /**
923 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl <em>All Objects</em>}' class. 1463 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
924 * <!-- begin-user-doc --> 1464 * <!-- begin-user-doc -->
925 * <!-- end-user-doc --> 1465 * <!-- end-user-doc -->
926 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl 1466 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
927 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() 1467 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
928 * @generated 1468 * @generated
929 */ 1469 */
930 int ALL_OBJECTS = 34; 1470 int NUMERIC_LITERAL = 24;
931 1471
932 /** 1472 /**
933 * The number of structural features of the '<em>All Objects</em>' class. 1473 * The feature id for the '<em><b>Abstract</b></em>' attribute.
934 * <!-- begin-user-doc --> 1474 * <!-- begin-user-doc -->
935 * <!-- end-user-doc --> 1475 * <!-- end-user-doc -->
936 * @generated 1476 * @generated
937 * @ordered 1477 * @ordered
938 */ 1478 */
939 int ALL_OBJECTS_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0; 1479 int NUMERIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
940 1480
941 /** 1481 /**
942 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl <em>Default Interpretation</em>}' class. 1482 * The feature id for the '<em><b>Name</b></em>' attribute.
943 * <!-- begin-user-doc --> 1483 * <!-- begin-user-doc -->
944 * <!-- end-user-doc --> 1484 * <!-- end-user-doc -->
945 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl
946 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation()
947 * @generated 1485 * @generated
1486 * @ordered
948 */ 1487 */
949 int DEFAULT_INTERPRETATION = 35; 1488 int NUMERIC_LITERAL__NAME = LITERAL__NAME;
950 1489
951 /** 1490 /**
952 * The feature id for the '<em><b>Interpretation</b></em>' containment reference. 1491 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
953 * <!-- begin-user-doc --> 1492 * <!-- begin-user-doc -->
954 * <!-- end-user-doc --> 1493 * <!-- end-user-doc -->
955 * @generated 1494 * @generated
956 * @ordered 1495 * @ordered
957 */ 1496 */
958 int DEFAULT_INTERPRETATION__INTERPRETATION = INTERPRETATION_FEATURE_COUNT + 0; 1497 int NUMERIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
959 1498
960 /** 1499 /**
961 * The number of structural features of the '<em>Default Interpretation</em>' class. 1500 * The feature id for the '<em><b>Members</b></em>' containment reference list.
962 * <!-- begin-user-doc --> 1501 * <!-- begin-user-doc -->
963 * <!-- end-user-doc --> 1502 * <!-- end-user-doc -->
964 * @generated 1503 * @generated
965 * @ordered 1504 * @ordered
966 */ 1505 */
967 int DEFAULT_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 1; 1506 int NUMERIC_LITERAL__MEMBERS = LITERAL__MEMBERS;
968 1507
969 /** 1508 /**
970 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl <em>CD Interpretation</em>}' class. 1509 * The feature id for the '<em><b>Value</b></em>' attribute.
971 * <!-- begin-user-doc --> 1510 * <!-- begin-user-doc -->
972 * <!-- end-user-doc --> 1511 * <!-- end-user-doc -->
973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl
974 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation()
975 * @generated 1512 * @generated
1513 * @ordered
976 */ 1514 */
977 int CD_INTERPRETATION = 36; 1515 int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
978 1516
979 /** 1517 /**
980 * The number of structural features of the '<em>CD Interpretation</em>' class. 1518 * The number of structural features of the '<em>Numeric Literal</em>' class.
981 * <!-- begin-user-doc --> 1519 * <!-- begin-user-doc -->
982 * <!-- end-user-doc --> 1520 * <!-- end-user-doc -->
983 * @generated 1521 * @generated
984 * @ordered 1522 * @ordered
985 */ 1523 */
986 int CD_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 0; 1524 int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
987 1525
988 /** 1526 /**
989 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl <em>Class Interpretation</em>}' class. 1527 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
990 * <!-- begin-user-doc --> 1528 * <!-- begin-user-doc -->
991 * <!-- end-user-doc --> 1529 * <!-- end-user-doc -->
992 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl 1530 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
993 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation() 1531 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
994 * @generated 1532 * @generated
995 */ 1533 */
996 int CLASS_INTERPRETATION = 37; 1534 int INFINITY_LITERAL = 25;
997 1535
998 /** 1536 /**
999 * The feature id for the '<em><b>Abstract</b></em>' attribute. 1537 * The feature id for the '<em><b>Abstract</b></em>' attribute.
@@ -1002,90 +1540,172 @@ public interface SolverLanguagePackage extends EPackage
1002 * @generated 1540 * @generated
1003 * @ordered 1541 * @ordered
1004 */ 1542 */
1005 int CLASS_INTERPRETATION__ABSTRACT = CD_INTERPRETATION_FEATURE_COUNT + 0; 1543 int INFINITY_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1544
1545 /**
1546 * The feature id for the '<em><b>Name</b></em>' attribute.
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 * @ordered
1551 */
1552 int INFINITY_LITERAL__NAME = LITERAL__NAME;
1553
1554 /**
1555 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1556 * <!-- begin-user-doc -->
1557 * <!-- end-user-doc -->
1558 * @generated
1559 * @ordered
1560 */
1561 int INFINITY_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1562
1563 /**
1564 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1565 * <!-- begin-user-doc -->
1566 * <!-- end-user-doc -->
1567 * @generated
1568 * @ordered
1569 */
1570 int INFINITY_LITERAL__MEMBERS = LITERAL__MEMBERS;
1571
1572 /**
1573 * The number of structural features of the '<em>Infinity Literal</em>' class.
1574 * <!-- begin-user-doc -->
1575 * <!-- end-user-doc -->
1576 * @generated
1577 * @ordered
1578 */
1579 int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
1580
1581 /**
1582 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
1583 * <!-- begin-user-doc -->
1584 * <!-- end-user-doc -->
1585 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
1586 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
1587 * @generated
1588 */
1589 int EMPTY_INTERVAL_LITERAL = 26;
1590
1591 /**
1592 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1593 * <!-- begin-user-doc -->
1594 * <!-- end-user-doc -->
1595 * @generated
1596 * @ordered
1597 */
1598 int EMPTY_INTERVAL_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1599
1600 /**
1601 * The feature id for the '<em><b>Name</b></em>' attribute.
1602 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc -->
1604 * @generated
1605 * @ordered
1606 */
1607 int EMPTY_INTERVAL_LITERAL__NAME = LITERAL__NAME;
1608
1609 /**
1610 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1611 * <!-- begin-user-doc -->
1612 * <!-- end-user-doc -->
1613 * @generated
1614 * @ordered
1615 */
1616 int EMPTY_INTERVAL_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1006 1617
1007 /** 1618 /**
1008 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1619 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1009 * <!-- begin-user-doc --> 1620 * <!-- begin-user-doc -->
1010 * <!-- end-user-doc --> 1621 * <!-- end-user-doc -->
1011 * @generated 1622 * @generated
1012 * @ordered 1623 * @ordered
1013 */ 1624 */
1014 int CLASS_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1; 1625 int EMPTY_INTERVAL_LITERAL__MEMBERS = LITERAL__MEMBERS;
1015 1626
1016 /** 1627 /**
1017 * The feature id for the '<em><b>Supertypes</b></em>' containment reference list. 1628 * The number of structural features of the '<em>Empty Interval Literal</em>' class.
1018 * <!-- begin-user-doc --> 1629 * <!-- begin-user-doc -->
1019 * <!-- end-user-doc --> 1630 * <!-- end-user-doc -->
1020 * @generated 1631 * @generated
1021 * @ordered 1632 * @ordered
1022 */ 1633 */
1023 int CLASS_INTERPRETATION__SUPERTYPES = CD_INTERPRETATION_FEATURE_COUNT + 2; 1634 int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
1635
1636 /**
1637 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
1638 * <!-- begin-user-doc -->
1639 * <!-- end-user-doc -->
1640 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
1641 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
1642 * @generated
1643 */
1644 int STRING_LITERAL = 27;
1024 1645
1025 /** 1646 /**
1026 * The feature id for the '<em><b>Fielt</b></em>' containment reference list. 1647 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1027 * <!-- begin-user-doc --> 1648 * <!-- begin-user-doc -->
1028 * <!-- end-user-doc --> 1649 * <!-- end-user-doc -->
1029 * @generated 1650 * @generated
1030 * @ordered 1651 * @ordered
1031 */ 1652 */
1032 int CLASS_INTERPRETATION__FIELT = CD_INTERPRETATION_FEATURE_COUNT + 3; 1653 int STRING_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1033 1654
1034 /** 1655 /**
1035 * The number of structural features of the '<em>Class Interpretation</em>' class. 1656 * The feature id for the '<em><b>Name</b></em>' attribute.
1036 * <!-- begin-user-doc --> 1657 * <!-- begin-user-doc -->
1037 * <!-- end-user-doc --> 1658 * <!-- end-user-doc -->
1038 * @generated 1659 * @generated
1039 * @ordered 1660 * @ordered
1040 */ 1661 */
1041 int CLASS_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 4; 1662 int STRING_LITERAL__NAME = LITERAL__NAME;
1042 1663
1043 /** 1664 /**
1044 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl <em>Enum Interpretation</em>}' class. 1665 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1045 * <!-- begin-user-doc --> 1666 * <!-- begin-user-doc -->
1046 * <!-- end-user-doc --> 1667 * <!-- end-user-doc -->
1047 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl
1048 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation()
1049 * @generated 1668 * @generated
1669 * @ordered
1050 */ 1670 */
1051 int ENUM_INTERPRETATION = 38; 1671 int STRING_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1052 1672
1053 /** 1673 /**
1054 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1674 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1055 * <!-- begin-user-doc --> 1675 * <!-- begin-user-doc -->
1056 * <!-- end-user-doc --> 1676 * <!-- end-user-doc -->
1057 * @generated 1677 * @generated
1058 * @ordered 1678 * @ordered
1059 */ 1679 */
1060 int ENUM_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 0; 1680 int STRING_LITERAL__MEMBERS = LITERAL__MEMBERS;
1061 1681
1062 /** 1682 /**
1063 * The feature id for the '<em><b>Objects</b></em>' containment reference list. 1683 * The feature id for the '<em><b>Value</b></em>' attribute.
1064 * <!-- begin-user-doc --> 1684 * <!-- begin-user-doc -->
1065 * <!-- end-user-doc --> 1685 * <!-- end-user-doc -->
1066 * @generated 1686 * @generated
1067 * @ordered 1687 * @ordered
1068 */ 1688 */
1069 int ENUM_INTERPRETATION__OBJECTS = CD_INTERPRETATION_FEATURE_COUNT + 1; 1689 int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
1070 1690
1071 /** 1691 /**
1072 * The number of structural features of the '<em>Enum Interpretation</em>' class. 1692 * The number of structural features of the '<em>String Literal</em>' class.
1073 * <!-- begin-user-doc --> 1693 * <!-- begin-user-doc -->
1074 * <!-- end-user-doc --> 1694 * <!-- end-user-doc -->
1075 * @generated 1695 * @generated
1076 * @ordered 1696 * @ordered
1077 */ 1697 */
1078 int ENUM_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 2; 1698 int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
1079 1699
1080 /** 1700 /**
1081 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl <em>Field Relation Interpretation</em>}' class. 1701 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
1082 * <!-- begin-user-doc --> 1702 * <!-- begin-user-doc -->
1083 * <!-- end-user-doc --> 1703 * <!-- end-user-doc -->
1084 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl 1704 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
1085 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation() 1705 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
1086 * @generated 1706 * @generated
1087 */ 1707 */
1088 int FIELD_RELATION_INTERPRETATION = 39; 1708 int MEMBER_DEFINITION = 28;
1089 1709
1090 /** 1710 /**
1091 * The feature id for the '<em><b>Containment</b></em>' attribute. 1711 * The feature id for the '<em><b>Containment</b></em>' attribute.
@@ -1094,16 +1714,16 @@ public interface SolverLanguagePackage extends EPackage
1094 * @generated 1714 * @generated
1095 * @ordered 1715 * @ordered
1096 */ 1716 */
1097 int FIELD_RELATION_INTERPRETATION__CONTAINMENT = 0; 1717 int MEMBER_DEFINITION__CONTAINMENT = 0;
1098 1718
1099 /** 1719 /**
1100 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1720 * The feature id for the '<em><b>Type</b></em>' reference.
1101 * <!-- begin-user-doc --> 1721 * <!-- begin-user-doc -->
1102 * <!-- end-user-doc --> 1722 * <!-- end-user-doc -->
1103 * @generated 1723 * @generated
1104 * @ordered 1724 * @ordered
1105 */ 1725 */
1106 int FIELD_RELATION_INTERPRETATION__SYMBOL = 1; 1726 int MEMBER_DEFINITION__TYPE = 1;
1107 1727
1108 /** 1728 /**
1109 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference. 1729 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
@@ -1112,334 +1732,1092 @@ public interface SolverLanguagePackage extends EPackage
1112 * @generated 1732 * @generated
1113 * @ordered 1733 * @ordered
1114 */ 1734 */
1115 int FIELD_RELATION_INTERPRETATION__MULTIPLICITY = 2; 1735 int MEMBER_DEFINITION__MULTIPLICITY = 2;
1116 1736
1117 /** 1737 /**
1118 * The feature id for the '<em><b>Target</b></em>' containment reference. 1738 * The feature id for the '<em><b>Name</b></em>' attribute.
1119 * <!-- begin-user-doc --> 1739 * <!-- begin-user-doc -->
1120 * <!-- end-user-doc --> 1740 * <!-- end-user-doc -->
1121 * @generated 1741 * @generated
1122 * @ordered 1742 * @ordered
1123 */ 1743 */
1124 int FIELD_RELATION_INTERPRETATION__TARGET = 3; 1744 int MEMBER_DEFINITION__NAME = 3;
1125 1745
1126 /** 1746 /**
1127 * The number of structural features of the '<em>Field Relation Interpretation</em>' class. 1747 * The feature id for the '<em><b>Opposite</b></em>' reference.
1128 * <!-- begin-user-doc --> 1748 * <!-- begin-user-doc -->
1129 * <!-- end-user-doc --> 1749 * <!-- end-user-doc -->
1130 * @generated 1750 * @generated
1131 * @ordered 1751 * @ordered
1132 */ 1752 */
1133 int FIELD_RELATION_INTERPRETATION_FEATURE_COUNT = 4; 1753 int MEMBER_DEFINITION__OPPOSITE = 4;
1134 1754
1135 /** 1755 /**
1136 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl <em>Global Relation Interpretation</em>}' class. 1756 * The number of structural features of the '<em>Member Definition</em>' class.
1137 * <!-- begin-user-doc --> 1757 * <!-- begin-user-doc -->
1138 * <!-- end-user-doc --> 1758 * <!-- end-user-doc -->
1139 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl
1140 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation()
1141 * @generated 1759 * @generated
1760 * @ordered
1142 */ 1761 */
1143 int GLOBAL_RELATION_INTERPRETATION = 40; 1762 int MEMBER_DEFINITION_FEATURE_COUNT = 5;
1144 1763
1145 /** 1764 /**
1146 * The feature id for the '<em><b>Containment</b></em>' attribute. 1765 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
1766 * <!-- begin-user-doc -->
1767 * <!-- end-user-doc -->
1768 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
1769 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
1770 * @generated
1771 */
1772 int MULTIPLICITY = 29;
1773
1774 /**
1775 * The number of structural features of the '<em>Multiplicity</em>' class.
1776 * <!-- begin-user-doc -->
1777 * <!-- end-user-doc -->
1778 * @generated
1779 * @ordered
1780 */
1781 int MULTIPLICITY_FEATURE_COUNT = 0;
1782
1783 /**
1784 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
1785 * <!-- begin-user-doc -->
1786 * <!-- end-user-doc -->
1787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
1788 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
1789 * @generated
1790 */
1791 int MANY_MULTIPLICITY = 30;
1792
1793 /**
1794 * The number of structural features of the '<em>Many Multiplicity</em>' class.
1795 * <!-- begin-user-doc -->
1796 * <!-- end-user-doc -->
1797 * @generated
1798 * @ordered
1799 */
1800 int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1801
1802 /**
1803 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
1804 * <!-- begin-user-doc -->
1805 * <!-- end-user-doc -->
1806 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
1807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
1808 * @generated
1809 */
1810 int EXACT_MULTIPLICITY = 31;
1811
1812 /**
1813 * The feature id for the '<em><b>Multiplicity</b></em>' attribute.
1147 * <!-- begin-user-doc --> 1814 * <!-- begin-user-doc -->
1148 * <!-- end-user-doc --> 1815 * <!-- end-user-doc -->
1149 * @generated 1816 * @generated
1150 * @ordered 1817 * @ordered
1151 */ 1818 */
1152 int GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = CD_INTERPRETATION_FEATURE_COUNT + 0; 1819 int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0;
1153 1820
1154 /** 1821 /**
1155 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1822 * The number of structural features of the '<em>Exact Multiplicity</em>' class.
1156 * <!-- begin-user-doc --> 1823 * <!-- begin-user-doc -->
1157 * <!-- end-user-doc --> 1824 * <!-- end-user-doc -->
1158 * @generated 1825 * @generated
1159 * @ordered 1826 * @ordered
1160 */ 1827 */
1161 int GLOBAL_RELATION_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1; 1828 int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1;
1829
1830 /**
1831 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
1832 * <!-- begin-user-doc -->
1833 * <!-- end-user-doc -->
1834 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
1835 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
1836 * @generated
1837 */
1838 int BOUNDED_MULTIPLICITY = 32;
1162 1839
1163 /** 1840 /**
1164 * The feature id for the '<em><b>Source Multiplicity</b></em>' containment reference. 1841 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1165 * <!-- begin-user-doc --> 1842 * <!-- begin-user-doc -->
1166 * <!-- end-user-doc --> 1843 * <!-- end-user-doc -->
1167 * @generated 1844 * @generated
1168 * @ordered 1845 * @ordered
1169 */ 1846 */
1170 int GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 2; 1847 int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0;
1171 1848
1172 /** 1849 /**
1173 * The feature id for the '<em><b>Source</b></em>' containment reference. 1850 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1174 * <!-- begin-user-doc --> 1851 * <!-- begin-user-doc -->
1175 * <!-- end-user-doc --> 1852 * <!-- end-user-doc -->
1176 * @generated 1853 * @generated
1177 * @ordered 1854 * @ordered
1178 */ 1855 */
1179 int GLOBAL_RELATION_INTERPRETATION__SOURCE = CD_INTERPRETATION_FEATURE_COUNT + 3; 1856 int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1;
1180 1857
1181 /** 1858 /**
1182 * The feature id for the '<em><b>Target Multiplicity</b></em>' containment reference. 1859 * The number of structural features of the '<em>Bounded Multiplicity</em>' class.
1183 * <!-- begin-user-doc --> 1860 * <!-- begin-user-doc -->
1184 * <!-- end-user-doc --> 1861 * <!-- end-user-doc -->
1185 * @generated 1862 * @generated
1186 * @ordered 1863 * @ordered
1187 */ 1864 */
1188 int GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 4; 1865 int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2;
1866
1867 /**
1868 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
1869 * <!-- begin-user-doc -->
1870 * <!-- end-user-doc -->
1871 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
1872 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
1873 * @generated
1874 */
1875 int SCOPE_DEFINITION = 33;
1189 1876
1190 /** 1877 /**
1191 * The feature id for the '<em><b>Target</b></em>' containment reference. 1878 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1192 * <!-- begin-user-doc --> 1879 * <!-- begin-user-doc -->
1193 * <!-- end-user-doc --> 1880 * <!-- end-user-doc -->
1194 * @generated 1881 * @generated
1195 * @ordered 1882 * @ordered
1196 */ 1883 */
1197 int GLOBAL_RELATION_INTERPRETATION__TARGET = CD_INTERPRETATION_FEATURE_COUNT + 5; 1884 int SCOPE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
1198 1885
1199 /** 1886 /**
1200 * The number of structural features of the '<em>Global Relation Interpretation</em>' class. 1887 * The feature id for the '<em><b>Name</b></em>' attribute.
1201 * <!-- begin-user-doc --> 1888 * <!-- begin-user-doc -->
1202 * <!-- end-user-doc --> 1889 * <!-- end-user-doc -->
1203 * @generated 1890 * @generated
1204 * @ordered 1891 * @ordered
1205 */ 1892 */
1206 int GLOBAL_RELATION_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 6; 1893 int SCOPE_DEFINITION__NAME = STATEMENT__NAME;
1207 1894
1208 /** 1895 /**
1209 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl <em>Multiplicity Definition</em>}' class. 1896 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1210 * <!-- begin-user-doc --> 1897 * <!-- begin-user-doc -->
1211 * <!-- end-user-doc --> 1898 * <!-- end-user-doc -->
1212 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl
1213 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition()
1214 * @generated 1899 * @generated
1900 * @ordered
1215 */ 1901 */
1216 int MULTIPLICITY_DEFINITION = 41; 1902 int SCOPE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
1217 1903
1218 /** 1904 /**
1219 * The feature id for the '<em><b>Lower</b></em>' attribute. 1905 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1220 * <!-- begin-user-doc --> 1906 * <!-- begin-user-doc -->
1221 * <!-- end-user-doc --> 1907 * <!-- end-user-doc -->
1222 * @generated 1908 * @generated
1223 * @ordered 1909 * @ordered
1224 */ 1910 */
1225 int MULTIPLICITY_DEFINITION__LOWER = 0; 1911 int SCOPE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
1226 1912
1227 /** 1913 /**
1228 * The feature id for the '<em><b>Upper</b></em>' attribute. 1914 * The feature id for the '<em><b>Type</b></em>' reference.
1229 * <!-- begin-user-doc --> 1915 * <!-- begin-user-doc -->
1230 * <!-- end-user-doc --> 1916 * <!-- end-user-doc -->
1231 * @generated 1917 * @generated
1232 * @ordered 1918 * @ordered
1233 */ 1919 */
1234 int MULTIPLICITY_DEFINITION__UPPER = 1; 1920 int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
1235 1921
1236 /** 1922 /**
1237 * The feature id for the '<em><b>Unlimited Upper</b></em>' attribute. 1923 * The number of structural features of the '<em>Scope Definition</em>' class.
1238 * <!-- begin-user-doc --> 1924 * <!-- begin-user-doc -->
1239 * <!-- end-user-doc --> 1925 * <!-- end-user-doc -->
1240 * @generated 1926 * @generated
1241 * @ordered 1927 * @ordered
1242 */ 1928 */
1243 int MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = 2; 1929 int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
1930
1931 /**
1932 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
1933 * <!-- begin-user-doc -->
1934 * <!-- end-user-doc -->
1935 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
1936 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
1937 * @generated
1938 */
1939 int EXACT_SCOPE_DEFINITION = 34;
1244 1940
1245 /** 1941 /**
1246 * The number of structural features of the '<em>Multiplicity Definition</em>' class. 1942 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1247 * <!-- begin-user-doc --> 1943 * <!-- begin-user-doc -->
1248 * <!-- end-user-doc --> 1944 * <!-- end-user-doc -->
1249 * @generated 1945 * @generated
1250 * @ordered 1946 * @ordered
1251 */ 1947 */
1252 int MULTIPLICITY_DEFINITION_FEATURE_COUNT = 3; 1948 int EXACT_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
1253 1949
1254 /** 1950 /**
1255 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl <em>Boolean True</em>}' class. 1951 * The feature id for the '<em><b>Name</b></em>' attribute.
1256 * <!-- begin-user-doc --> 1952 * <!-- begin-user-doc -->
1257 * <!-- end-user-doc --> 1953 * <!-- end-user-doc -->
1258 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl
1259 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue()
1260 * @generated 1954 * @generated
1955 * @ordered
1261 */ 1956 */
1262 int BOOLEAN_TRUE = 42; 1957 int EXACT_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
1263 1958
1264 /** 1959 /**
1265 * The number of structural features of the '<em>Boolean True</em>' class. 1960 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1266 * <!-- begin-user-doc --> 1961 * <!-- begin-user-doc -->
1267 * <!-- end-user-doc --> 1962 * <!-- end-user-doc -->
1268 * @generated 1963 * @generated
1269 * @ordered 1964 * @ordered
1270 */ 1965 */
1271 int BOOLEAN_TRUE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0; 1966 int EXACT_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
1272 1967
1273 /** 1968 /**
1274 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl <em>Boolean False</em>}' class. 1969 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1275 * <!-- begin-user-doc --> 1970 * <!-- begin-user-doc -->
1276 * <!-- end-user-doc --> 1971 * <!-- end-user-doc -->
1277 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl
1278 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse()
1279 * @generated 1972 * @generated
1973 * @ordered
1280 */ 1974 */
1281 int BOOLEAN_FALSE = 43; 1975 int EXACT_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
1282 1976
1283 /** 1977 /**
1284 * The number of structural features of the '<em>Boolean False</em>' class. 1978 * The feature id for the '<em><b>Type</b></em>' reference.
1285 * <!-- begin-user-doc --> 1979 * <!-- begin-user-doc -->
1286 * <!-- end-user-doc --> 1980 * <!-- end-user-doc -->
1287 * @generated 1981 * @generated
1288 * @ordered 1982 * @ordered
1289 */ 1983 */
1290 int BOOLEAN_FALSE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0; 1984 int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1291 1985
1292 /** 1986 /**
1293 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl <em>True</em>}' class. 1987 * The feature id for the '<em><b>Exact Scope</b></em>' attribute.
1294 * <!-- begin-user-doc --> 1988 * <!-- begin-user-doc -->
1295 * <!-- end-user-doc --> 1989 * <!-- end-user-doc -->
1296 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl
1297 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue()
1298 * @generated 1990 * @generated
1991 * @ordered
1299 */ 1992 */
1300 int TRUE = 44; 1993 int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1301 1994
1302 /** 1995 /**
1303 * The number of structural features of the '<em>True</em>' class. 1996 * The number of structural features of the '<em>Exact Scope Definition</em>' class.
1304 * <!-- begin-user-doc --> 1997 * <!-- begin-user-doc -->
1305 * <!-- end-user-doc --> 1998 * <!-- end-user-doc -->
1306 * @generated 1999 * @generated
1307 * @ordered 2000 * @ordered
1308 */ 2001 */
1309 int TRUE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2002 int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1310 2003
1311 /** 2004 /**
1312 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl <em>False</em>}' class. 2005 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
1313 * <!-- begin-user-doc --> 2006 * <!-- begin-user-doc -->
1314 * <!-- end-user-doc --> 2007 * <!-- end-user-doc -->
1315 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl 2008 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
1316 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse() 2009 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
1317 * @generated 2010 * @generated
1318 */ 2011 */
1319 int FALSE = 45; 2012 int BOUNDED_SCOPE_DEFINITION = 35;
1320 2013
1321 /** 2014 /**
1322 * The number of structural features of the '<em>False</em>' class. 2015 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1323 * <!-- begin-user-doc --> 2016 * <!-- begin-user-doc -->
1324 * <!-- end-user-doc --> 2017 * <!-- end-user-doc -->
1325 * @generated 2018 * @generated
1326 * @ordered 2019 * @ordered
1327 */ 2020 */
1328 int FALSE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2021 int BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
1329 2022
1330 /** 2023 /**
1331 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl <em>Unknown</em>}' class. 2024 * The feature id for the '<em><b>Name</b></em>' attribute.
1332 * <!-- begin-user-doc --> 2025 * <!-- begin-user-doc -->
1333 * <!-- end-user-doc --> 2026 * <!-- end-user-doc -->
1334 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl
1335 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown()
1336 * @generated 2027 * @generated
2028 * @ordered
1337 */ 2029 */
1338 int UNKNOWN = 46; 2030 int BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
1339 2031
1340 /** 2032 /**
1341 * The number of structural features of the '<em>Unknown</em>' class. 2033 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1342 * <!-- begin-user-doc --> 2034 * <!-- begin-user-doc -->
1343 * <!-- end-user-doc --> 2035 * <!-- end-user-doc -->
1344 * @generated 2036 * @generated
1345 * @ordered 2037 * @ordered
1346 */ 2038 */
1347 int UNKNOWN_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2039 int BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
1348 2040
1349 /** 2041 /**
1350 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl <em>Error</em>}' class. 2042 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1351 * <!-- begin-user-doc --> 2043 * <!-- begin-user-doc -->
1352 * <!-- end-user-doc --> 2044 * <!-- end-user-doc -->
1353 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl
1354 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError()
1355 * @generated 2045 * @generated
2046 * @ordered
1356 */ 2047 */
1357 int ERROR = 47; 2048 int BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
1358 2049
1359 /** 2050 /**
1360 * The number of structural features of the '<em>Error</em>' class. 2051 * The feature id for the '<em><b>Type</b></em>' reference.
1361 * <!-- begin-user-doc --> 2052 * <!-- begin-user-doc -->
1362 * <!-- end-user-doc --> 2053 * <!-- end-user-doc -->
1363 * @generated 2054 * @generated
1364 * @ordered 2055 * @ordered
1365 */ 2056 */
1366 int ERROR_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2057 int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1367 2058
1368 /** 2059 /**
1369 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl <em>Positive</em>}' class. 2060 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1370 * <!-- begin-user-doc --> 2061 * <!-- begin-user-doc -->
1371 * <!-- end-user-doc --> 2062 * <!-- end-user-doc -->
1372 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl
1373 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive()
1374 * @generated 2063 * @generated
2064 * @ordered
1375 */ 2065 */
1376 int POSITIVE = 48; 2066 int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1377 2067
1378 /** 2068 /**
1379 * The number of structural features of the '<em>Positive</em>' class. 2069 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1380 * <!-- begin-user-doc --> 2070 * <!-- begin-user-doc -->
1381 * <!-- end-user-doc --> 2071 * <!-- end-user-doc -->
1382 * @generated 2072 * @generated
1383 * @ordered 2073 * @ordered
1384 */ 2074 */
1385 int POSITIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0; 2075 int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1386 2076
1387 /** 2077 /**
1388 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl <em>Negative</em>}' class. 2078 * The number of structural features of the '<em>Bounded Scope Definition</em>' class.
1389 * <!-- begin-user-doc --> 2079 * <!-- begin-user-doc -->
1390 * <!-- end-user-doc --> 2080 * <!-- end-user-doc -->
1391 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl
1392 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative()
1393 * @generated 2081 * @generated
2082 * @ordered
1394 */ 2083 */
1395 int NEGATIVE = 49; 2084 int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2;
1396 2085
1397 /** 2086 /**
1398 * The number of structural features of the '<em>Negative</em>' class. 2087 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
2088 * <!-- begin-user-doc -->
2089 * <!-- end-user-doc -->
2090 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
2091 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
2092 * @generated
2093 */
2094 int LOWER_BOUNDED_SCOPE_DEFINITION = 36;
2095
2096 /**
2097 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2098 * <!-- begin-user-doc -->
2099 * <!-- end-user-doc -->
2100 * @generated
2101 * @ordered
2102 */
2103 int LOWER_BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
2104
2105 /**
2106 * The feature id for the '<em><b>Name</b></em>' attribute.
2107 * <!-- begin-user-doc -->
2108 * <!-- end-user-doc -->
2109 * @generated
2110 * @ordered
2111 */
2112 int LOWER_BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
2113
2114 /**
2115 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1399 * <!-- begin-user-doc --> 2116 * <!-- begin-user-doc -->
1400 * <!-- end-user-doc --> 2117 * <!-- end-user-doc -->
1401 * @generated 2118 * @generated
1402 * @ordered 2119 * @ordered
1403 */ 2120 */
1404 int NEGATIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0; 2121 int LOWER_BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
1405 2122
1406 /** 2123 /**
1407 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl <em>Reflexive Closure</em>}' class. 2124 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1408 * <!-- begin-user-doc --> 2125 * <!-- begin-user-doc -->
1409 * <!-- end-user-doc --> 2126 * <!-- end-user-doc -->
1410 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl
1411 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure()
1412 * @generated 2127 * @generated
2128 * @ordered
1413 */ 2129 */
1414 int REFLEXIVE_CLOSURE = 50; 2130 int LOWER_BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
1415 2131
1416 /** 2132 /**
1417 * The number of structural features of the '<em>Reflexive Closure</em>' class. 2133 * The feature id for the '<em><b>Type</b></em>' reference.
1418 * <!-- begin-user-doc --> 2134 * <!-- begin-user-doc -->
1419 * <!-- end-user-doc --> 2135 * <!-- end-user-doc -->
1420 * @generated 2136 * @generated
1421 * @ordered 2137 * @ordered
1422 */ 2138 */
1423 int REFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0; 2139 int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1424 2140
1425 /** 2141 /**
1426 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl <em>Irreflexive Closure</em>}' class. 2142 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1427 * <!-- begin-user-doc --> 2143 * <!-- begin-user-doc -->
1428 * <!-- end-user-doc --> 2144 * <!-- end-user-doc -->
1429 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl
1430 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure()
1431 * @generated 2145 * @generated
2146 * @ordered
1432 */ 2147 */
1433 int IRREFLEXIVE_CLOSURE = 51; 2148 int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1434 2149
1435 /** 2150 /**
1436 * The number of structural features of the '<em>Irreflexive Closure</em>' class. 2151 * The number of structural features of the '<em>Lower Bounded Scope Definition</em>' class.
1437 * <!-- begin-user-doc --> 2152 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc --> 2153 * <!-- end-user-doc -->
1439 * @generated 2154 * @generated
1440 * @ordered 2155 * @ordered
1441 */ 2156 */
1442 int IRREFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0; 2157 int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
2158
2159 /**
2160 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
2161 * <!-- begin-user-doc -->
2162 * <!-- end-user-doc -->
2163 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
2164 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
2165 * @generated
2166 */
2167 int OBJECTIVE_DEFINITION = 37;
2168
2169 /**
2170 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2171 * <!-- begin-user-doc -->
2172 * <!-- end-user-doc -->
2173 * @generated
2174 * @ordered
2175 */
2176 int OBJECTIVE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
2177
2178 /**
2179 * The feature id for the '<em><b>Name</b></em>' attribute.
2180 * <!-- begin-user-doc -->
2181 * <!-- end-user-doc -->
2182 * @generated
2183 * @ordered
2184 */
2185 int OBJECTIVE_DEFINITION__NAME = STATEMENT__NAME;
2186
2187 /**
2188 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2189 * <!-- begin-user-doc -->
2190 * <!-- end-user-doc -->
2191 * @generated
2192 * @ordered
2193 */
2194 int OBJECTIVE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
2195
2196 /**
2197 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2198 * <!-- begin-user-doc -->
2199 * <!-- end-user-doc -->
2200 * @generated
2201 * @ordered
2202 */
2203 int OBJECTIVE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
2204
2205 /**
2206 * The feature id for the '<em><b>Kind</b></em>' attribute.
2207 * <!-- begin-user-doc -->
2208 * <!-- end-user-doc -->
2209 * @generated
2210 * @ordered
2211 */
2212 int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0;
2213
2214 /**
2215 * The feature id for the '<em><b>Objective</b></em>' containment reference.
2216 * <!-- begin-user-doc -->
2217 * <!-- end-user-doc -->
2218 * @generated
2219 * @ordered
2220 */
2221 int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1;
2222
2223 /**
2224 * The number of structural features of the '<em>Objective Definition</em>' class.
2225 * <!-- begin-user-doc -->
2226 * <!-- end-user-doc -->
2227 * @generated
2228 * @ordered
2229 */
2230 int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
2231
2232 /**
2233 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
2234 * <!-- begin-user-doc -->
2235 * <!-- end-user-doc -->
2236 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
2237 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
2238 * @generated
2239 */
2240 int NAMED_ELEMENT = 38;
2241
2242 /**
2243 * The feature id for the '<em><b>Name</b></em>' attribute.
2244 * <!-- begin-user-doc -->
2245 * <!-- end-user-doc -->
2246 * @generated
2247 * @ordered
2248 */
2249 int NAMED_ELEMENT__NAME = 0;
2250
2251 /**
2252 * The number of structural features of the '<em>Named Element</em>' class.
2253 * <!-- begin-user-doc -->
2254 * <!-- end-user-doc -->
2255 * @generated
2256 * @ordered
2257 */
2258 int NAMED_ELEMENT_FEATURE_COUNT = 1;
2259
2260 /**
2261 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
2262 * <!-- begin-user-doc -->
2263 * <!-- end-user-doc -->
2264 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
2265 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
2266 * @generated
2267 */
2268 int ASSERTION = 39;
2269
2270 /**
2271 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2272 * <!-- begin-user-doc -->
2273 * <!-- end-user-doc -->
2274 * @generated
2275 * @ordered
2276 */
2277 int ASSERTION__ABSTRACT = STATEMENT__ABSTRACT;
2278
2279 /**
2280 * The feature id for the '<em><b>Name</b></em>' attribute.
2281 * <!-- begin-user-doc -->
2282 * <!-- end-user-doc -->
2283 * @generated
2284 * @ordered
2285 */
2286 int ASSERTION__NAME = STATEMENT__NAME;
2287
2288 /**
2289 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2290 * <!-- begin-user-doc -->
2291 * <!-- end-user-doc -->
2292 * @generated
2293 * @ordered
2294 */
2295 int ASSERTION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
2296
2297 /**
2298 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2299 * <!-- begin-user-doc -->
2300 * <!-- end-user-doc -->
2301 * @generated
2302 * @ordered
2303 */
2304 int ASSERTION__MEMBERS = STATEMENT__MEMBERS;
2305
2306 /**
2307 * The feature id for the '<em><b>Body</b></em>' containment reference.
2308 * <!-- begin-user-doc -->
2309 * <!-- end-user-doc -->
2310 * @generated
2311 * @ordered
2312 */
2313 int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0;
2314
2315 /**
2316 * The feature id for the '<em><b>Range</b></em>' containment reference.
2317 * <!-- begin-user-doc -->
2318 * <!-- end-user-doc -->
2319 * @generated
2320 * @ordered
2321 */
2322 int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1;
2323
2324 /**
2325 * The number of structural features of the '<em>Assertion</em>' class.
2326 * <!-- begin-user-doc -->
2327 * <!-- end-user-doc -->
2328 * @generated
2329 * @ordered
2330 */
2331 int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
2332
2333 /**
2334 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
2335 * <!-- begin-user-doc -->
2336 * <!-- end-user-doc -->
2337 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
2338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
2339 * @generated
2340 */
2341 int DISJUNCTION = 40;
2342
2343 /**
2344 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2345 * <!-- begin-user-doc -->
2346 * <!-- end-user-doc -->
2347 * @generated
2348 * @ordered
2349 */
2350 int DISJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT;
2351
2352 /**
2353 * The feature id for the '<em><b>Name</b></em>' attribute.
2354 * <!-- begin-user-doc -->
2355 * <!-- end-user-doc -->
2356 * @generated
2357 * @ordered
2358 */
2359 int DISJUNCTION__NAME = EXPRESSION__NAME;
2360
2361 /**
2362 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2363 * <!-- begin-user-doc -->
2364 * <!-- end-user-doc -->
2365 * @generated
2366 * @ordered
2367 */
2368 int DISJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2369
2370 /**
2371 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2372 * <!-- begin-user-doc -->
2373 * <!-- end-user-doc -->
2374 * @generated
2375 * @ordered
2376 */
2377 int DISJUNCTION__MEMBERS = EXPRESSION__MEMBERS;
2378
2379 /**
2380 * The feature id for the '<em><b>Children</b></em>' containment reference list.
2381 * <!-- begin-user-doc -->
2382 * <!-- end-user-doc -->
2383 * @generated
2384 * @ordered
2385 */
2386 int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
2387
2388 /**
2389 * The number of structural features of the '<em>Disjunction</em>' class.
2390 * <!-- begin-user-doc -->
2391 * <!-- end-user-doc -->
2392 * @generated
2393 * @ordered
2394 */
2395 int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
2396
2397 /**
2398 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
2399 * <!-- begin-user-doc -->
2400 * <!-- end-user-doc -->
2401 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
2402 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
2403 * @generated
2404 */
2405 int SWITCH = 41;
2406
2407 /**
2408 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2409 * <!-- begin-user-doc -->
2410 * <!-- end-user-doc -->
2411 * @generated
2412 * @ordered
2413 */
2414 int SWITCH__ABSTRACT = EXPRESSION__ABSTRACT;
2415
2416 /**
2417 * The feature id for the '<em><b>Name</b></em>' attribute.
2418 * <!-- begin-user-doc -->
2419 * <!-- end-user-doc -->
2420 * @generated
2421 * @ordered
2422 */
2423 int SWITCH__NAME = EXPRESSION__NAME;
2424
2425 /**
2426 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2427 * <!-- begin-user-doc -->
2428 * <!-- end-user-doc -->
2429 * @generated
2430 * @ordered
2431 */
2432 int SWITCH__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2433
2434 /**
2435 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2436 * <!-- begin-user-doc -->
2437 * <!-- end-user-doc -->
2438 * @generated
2439 * @ordered
2440 */
2441 int SWITCH__MEMBERS = EXPRESSION__MEMBERS;
2442
2443 /**
2444 * The feature id for the '<em><b>Cases</b></em>' containment reference list.
2445 * <!-- begin-user-doc -->
2446 * <!-- end-user-doc -->
2447 * @generated
2448 * @ordered
2449 */
2450 int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0;
2451
2452 /**
2453 * The number of structural features of the '<em>Switch</em>' class.
2454 * <!-- begin-user-doc -->
2455 * <!-- end-user-doc -->
2456 * @generated
2457 * @ordered
2458 */
2459 int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
2460
2461 /**
2462 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
2463 * <!-- begin-user-doc -->
2464 * <!-- end-user-doc -->
2465 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
2466 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
2467 * @generated
2468 */
2469 int CONJUNCTION = 42;
2470
2471 /**
2472 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2473 * <!-- begin-user-doc -->
2474 * <!-- end-user-doc -->
2475 * @generated
2476 * @ordered
2477 */
2478 int CONJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT;
2479
2480 /**
2481 * The feature id for the '<em><b>Name</b></em>' attribute.
2482 * <!-- begin-user-doc -->
2483 * <!-- end-user-doc -->
2484 * @generated
2485 * @ordered
2486 */
2487 int CONJUNCTION__NAME = EXPRESSION__NAME;
2488
2489 /**
2490 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2491 * <!-- begin-user-doc -->
2492 * <!-- end-user-doc -->
2493 * @generated
2494 * @ordered
2495 */
2496 int CONJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2497
2498 /**
2499 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2500 * <!-- begin-user-doc -->
2501 * <!-- end-user-doc -->
2502 * @generated
2503 * @ordered
2504 */
2505 int CONJUNCTION__MEMBERS = EXPRESSION__MEMBERS;
2506
2507 /**
2508 * The feature id for the '<em><b>Children</b></em>' containment reference list.
2509 * <!-- begin-user-doc -->
2510 * <!-- end-user-doc -->
2511 * @generated
2512 * @ordered
2513 */
2514 int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
2515
2516 /**
2517 * The number of structural features of the '<em>Conjunction</em>' class.
2518 * <!-- begin-user-doc -->
2519 * <!-- end-user-doc -->
2520 * @generated
2521 * @ordered
2522 */
2523 int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
2524
2525 /**
2526 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
2527 * <!-- begin-user-doc -->
2528 * <!-- end-user-doc -->
2529 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
2530 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
2531 * @generated
2532 */
2533 int COMPARISON = 43;
2534
2535 /**
2536 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2537 * <!-- begin-user-doc -->
2538 * <!-- end-user-doc -->
2539 * @generated
2540 * @ordered
2541 */
2542 int COMPARISON__ABSTRACT = EXPRESSION__ABSTRACT;
2543
2544 /**
2545 * The feature id for the '<em><b>Name</b></em>' attribute.
2546 * <!-- begin-user-doc -->
2547 * <!-- end-user-doc -->
2548 * @generated
2549 * @ordered
2550 */
2551 int COMPARISON__NAME = EXPRESSION__NAME;
2552
2553 /**
2554 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2555 * <!-- begin-user-doc -->
2556 * <!-- end-user-doc -->
2557 * @generated
2558 * @ordered
2559 */
2560 int COMPARISON__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2561
2562 /**
2563 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2564 * <!-- begin-user-doc -->
2565 * <!-- end-user-doc -->
2566 * @generated
2567 * @ordered
2568 */
2569 int COMPARISON__MEMBERS = EXPRESSION__MEMBERS;
2570
2571 /**
2572 * The feature id for the '<em><b>Left</b></em>' containment reference.
2573 * <!-- begin-user-doc -->
2574 * <!-- end-user-doc -->
2575 * @generated
2576 * @ordered
2577 */
2578 int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0;
2579
2580 /**
2581 * The feature id for the '<em><b>Op</b></em>' attribute.
2582 * <!-- begin-user-doc -->
2583 * <!-- end-user-doc -->
2584 * @generated
2585 * @ordered
2586 */
2587 int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1;
2588
2589 /**
2590 * The feature id for the '<em><b>Right</b></em>' containment reference.
2591 * <!-- begin-user-doc -->
2592 * <!-- end-user-doc -->
2593 * @generated
2594 * @ordered
2595 */
2596 int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
2597
2598 /**
2599 * The number of structural features of the '<em>Comparison</em>' class.
2600 * <!-- begin-user-doc -->
2601 * <!-- end-user-doc -->
2602 * @generated
2603 * @ordered
2604 */
2605 int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
2606
2607 /**
2608 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
2609 * <!-- begin-user-doc -->
2610 * <!-- end-user-doc -->
2611 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
2612 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
2613 * @generated
2614 */
2615 int BINARY_EXPRESSION = 44;
2616
2617 /**
2618 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2619 * <!-- begin-user-doc -->
2620 * <!-- end-user-doc -->
2621 * @generated
2622 * @ordered
2623 */
2624 int BINARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT;
2625
2626 /**
2627 * The feature id for the '<em><b>Name</b></em>' attribute.
2628 * <!-- begin-user-doc -->
2629 * <!-- end-user-doc -->
2630 * @generated
2631 * @ordered
2632 */
2633 int BINARY_EXPRESSION__NAME = EXPRESSION__NAME;
2634
2635 /**
2636 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2637 * <!-- begin-user-doc -->
2638 * <!-- end-user-doc -->
2639 * @generated
2640 * @ordered
2641 */
2642 int BINARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2643
2644 /**
2645 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2646 * <!-- begin-user-doc -->
2647 * <!-- end-user-doc -->
2648 * @generated
2649 * @ordered
2650 */
2651 int BINARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS;
2652
2653 /**
2654 * The feature id for the '<em><b>Left</b></em>' containment reference.
2655 * <!-- begin-user-doc -->
2656 * <!-- end-user-doc -->
2657 * @generated
2658 * @ordered
2659 */
2660 int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0;
2661
2662 /**
2663 * The feature id for the '<em><b>Op</b></em>' attribute.
2664 * <!-- begin-user-doc -->
2665 * <!-- end-user-doc -->
2666 * @generated
2667 * @ordered
2668 */
2669 int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1;
2670
2671 /**
2672 * The feature id for the '<em><b>Right</b></em>' containment reference.
2673 * <!-- begin-user-doc -->
2674 * <!-- end-user-doc -->
2675 * @generated
2676 * @ordered
2677 */
2678 int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
2679
2680 /**
2681 * The number of structural features of the '<em>Binary Expression</em>' class.
2682 * <!-- begin-user-doc -->
2683 * <!-- end-user-doc -->
2684 * @generated
2685 * @ordered
2686 */
2687 int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
2688
2689 /**
2690 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
2691 * <!-- begin-user-doc -->
2692 * <!-- end-user-doc -->
2693 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
2694 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
2695 * @generated
2696 */
2697 int UNARY_EXPRESSION = 45;
2698
2699 /**
2700 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2701 * <!-- begin-user-doc -->
2702 * <!-- end-user-doc -->
2703 * @generated
2704 * @ordered
2705 */
2706 int UNARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT;
2707
2708 /**
2709 * The feature id for the '<em><b>Name</b></em>' attribute.
2710 * <!-- begin-user-doc -->
2711 * <!-- end-user-doc -->
2712 * @generated
2713 * @ordered
2714 */
2715 int UNARY_EXPRESSION__NAME = EXPRESSION__NAME;
2716
2717 /**
2718 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2719 * <!-- begin-user-doc -->
2720 * <!-- end-user-doc -->
2721 * @generated
2722 * @ordered
2723 */
2724 int UNARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2725
2726 /**
2727 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2728 * <!-- begin-user-doc -->
2729 * <!-- end-user-doc -->
2730 * @generated
2731 * @ordered
2732 */
2733 int UNARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS;
2734
2735 /**
2736 * The feature id for the '<em><b>Op</b></em>' attribute.
2737 * <!-- begin-user-doc -->
2738 * <!-- end-user-doc -->
2739 * @generated
2740 * @ordered
2741 */
2742 int UNARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0;
2743
2744 /**
2745 * The feature id for the '<em><b>Body</b></em>' containment reference.
2746 * <!-- begin-user-doc -->
2747 * <!-- end-user-doc -->
2748 * @generated
2749 * @ordered
2750 */
2751 int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1;
2752
2753 /**
2754 * The number of structural features of the '<em>Unary Expression</em>' class.
2755 * <!-- begin-user-doc -->
2756 * <!-- end-user-doc -->
2757 * @generated
2758 * @ordered
2759 */
2760 int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
2761
2762 /**
2763 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
2764 * <!-- begin-user-doc -->
2765 * <!-- end-user-doc -->
2766 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
2767 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
2768 * @generated
2769 */
2770 int METRIC_TYPE = 46;
2771
2772 /**
2773 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
2774 * <!-- begin-user-doc -->
2775 * <!-- end-user-doc -->
2776 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
2777 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
2778 * @generated
2779 */
2780 int BINARY_OPERATOR = 47;
2781
2782 /**
2783 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
2784 * <!-- begin-user-doc -->
2785 * <!-- end-user-doc -->
2786 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
2787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
2788 * @generated
2789 */
2790 int UNARY_OP = 48;
2791
2792 /**
2793 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
2794 * <!-- begin-user-doc -->
2795 * <!-- end-user-doc -->
2796 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
2797 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
2798 * @generated
2799 */
2800 int AGGREGATION_OP = 49;
2801
2802 /**
2803 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
2804 * <!-- begin-user-doc -->
2805 * <!-- end-user-doc -->
2806 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
2807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
2808 * @generated
2809 */
2810 int LOGIC_VALUE = 50;
2811
2812 /**
2813 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
2814 * <!-- begin-user-doc -->
2815 * <!-- end-user-doc -->
2816 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
2817 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
2818 * @generated
2819 */
2820 int OBJECTIVE_KIND = 51;
1443 2821
1444 2822
1445 /** 2823 /**
@@ -1474,525 +2852,633 @@ public interface SolverLanguagePackage extends EPackage
1474 EClass getStatement(); 2852 EClass getStatement();
1475 2853
1476 /** 2854 /**
1477 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue <em>Boolean Value</em>}'. 2855 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}'.
1478 * <!-- begin-user-doc --> 2856 * <!-- begin-user-doc -->
1479 * <!-- end-user-doc --> 2857 * <!-- end-user-doc -->
1480 * @return the meta object for class '<em>Boolean Value</em>'. 2858 * @return the meta object for the attribute '<em>Abstract</em>'.
1481 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanValue 2859 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract()
2860 * @see #getStatement()
1482 * @generated 2861 * @generated
1483 */ 2862 */
1484 EClass getBooleanValue(); 2863 EAttribute getStatement_Abstract();
1485 2864
1486 /** 2865 /**
1487 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue <em>Truth Value</em>}'. 2866 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}'.
1488 * <!-- begin-user-doc --> 2867 * <!-- begin-user-doc -->
1489 * <!-- end-user-doc --> 2868 * <!-- end-user-doc -->
1490 * @return the meta object for class '<em>Truth Value</em>'. 2869 * @return the meta object for the attribute '<em>Name</em>'.
1491 * @see org.eclipse.viatra.solver.language.solverLanguage.TruthValue 2870 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getName()
2871 * @see #getStatement()
1492 * @generated 2872 * @generated
1493 */ 2873 */
1494 EClass getTruthValue(); 2874 EAttribute getStatement_Name();
1495 2875
1496 /** 2876 /**
1497 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</em>}'. 2877 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses <em>Superclasses</em>}'.
1498 * <!-- begin-user-doc --> 2878 * <!-- begin-user-doc -->
1499 * <!-- end-user-doc --> 2879 * <!-- end-user-doc -->
1500 * @return the meta object for class '<em>Interpretation</em>'. 2880 * @return the meta object for the reference list '<em>Superclasses</em>'.
1501 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation 2881 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses()
2882 * @see #getStatement()
1502 * @generated 2883 * @generated
1503 */ 2884 */
1504 EClass getInterpretation(); 2885 EReference getStatement_Superclasses();
1505 2886
1506 /** 2887 /**
1507 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation <em>Basic Interpretation</em>}'. 2888 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers <em>Members</em>}'.
1508 * <!-- begin-user-doc --> 2889 * <!-- begin-user-doc -->
1509 * <!-- end-user-doc --> 2890 * <!-- end-user-doc -->
1510 * @return the meta object for class '<em>Basic Interpretation</em>'. 2891 * @return the meta object for the containment reference list '<em>Members</em>'.
1511 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation 2892 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers()
2893 * @see #getStatement()
1512 * @generated 2894 * @generated
1513 */ 2895 */
1514 EClass getBasicInterpretation(); 2896 EReference getStatement_Members();
1515 2897
1516 /** 2898 /**
1517 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}'. 2899 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
1518 * <!-- begin-user-doc --> 2900 * <!-- begin-user-doc -->
1519 * <!-- end-user-doc --> 2901 * <!-- end-user-doc -->
1520 * @return the meta object for the containment reference '<em>Symbol</em>'. 2902 * @return the meta object for class '<em>Predicate Definition</em>'.
1521 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol() 2903 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
1522 * @see #getBasicInterpretation()
1523 * @generated 2904 * @generated
1524 */ 2905 */
1525 EReference getBasicInterpretation_Symbol(); 2906 EClass getPredicateDefinition();
1526 2907
1527 /** 2908 /**
1528 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects <em>Objects</em>}'. 2909 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}'.
1529 * <!-- begin-user-doc --> 2910 * <!-- begin-user-doc -->
1530 * <!-- end-user-doc --> 2911 * <!-- end-user-doc -->
1531 * @return the meta object for the containment reference list '<em>Objects</em>'. 2912 * @return the meta object for the containment reference '<em>Head</em>'.
1532 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects() 2913 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead()
1533 * @see #getBasicInterpretation() 2914 * @see #getPredicateDefinition()
1534 * @generated 2915 * @generated
1535 */ 2916 */
1536 EReference getBasicInterpretation_Objects(); 2917 EReference getPredicateDefinition_Head();
1537 2918
1538 /** 2919 /**
1539 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}'. 2920 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}'.
1540 * <!-- begin-user-doc --> 2921 * <!-- begin-user-doc -->
1541 * <!-- end-user-doc --> 2922 * <!-- end-user-doc -->
1542 * @return the meta object for the containment reference '<em>Value</em>'. 2923 * @return the meta object for the containment reference '<em>Body</em>'.
1543 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue() 2924 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody()
1544 * @see #getBasicInterpretation() 2925 * @see #getPredicateDefinition()
1545 * @generated 2926 * @generated
1546 */ 2927 */
1547 EReference getBasicInterpretation_Value(); 2928 EReference getPredicateDefinition_Body();
1548 2929
1549 /** 2930 /**
1550 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol <em>Symbol</em>}'. 2931 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}'.
1551 * <!-- begin-user-doc --> 2932 * <!-- begin-user-doc -->
1552 * <!-- end-user-doc --> 2933 * <!-- end-user-doc -->
1553 * @return the meta object for class '<em>Symbol</em>'. 2934 * @return the meta object for the attribute '<em>Functional</em>'.
1554 * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol 2935 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional()
2936 * @see #getPredicateDefinition()
1555 * @generated 2937 * @generated
1556 */ 2938 */
1557 EClass getSymbol(); 2939 EAttribute getPredicateDefinition_Functional();
1558 2940
1559 /** 2941 /**
1560 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol <em>Model Symbol</em>}'. 2942 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}'.
1561 * <!-- begin-user-doc --> 2943 * <!-- begin-user-doc -->
1562 * <!-- end-user-doc --> 2944 * <!-- end-user-doc -->
1563 * @return the meta object for class '<em>Model Symbol</em>'. 2945 * @return the meta object for the attribute '<em>Error</em>'.
1564 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol 2946 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError()
2947 * @see #getPredicateDefinition()
1565 * @generated 2948 * @generated
1566 */ 2949 */
1567 EClass getModelSymbol(); 2950 EAttribute getPredicateDefinition_Error();
1568 2951
1569 /** 2952 /**
1570 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}'. 2953 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
1571 * <!-- begin-user-doc --> 2954 * <!-- begin-user-doc -->
1572 * <!-- end-user-doc --> 2955 * <!-- end-user-doc -->
1573 * @return the meta object for the attribute '<em>Name</em>'. 2956 * @return the meta object for class '<em>Unnamed Error Prediate Definition</em>'.
1574 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName() 2957 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
1575 * @see #getModelSymbol()
1576 * @generated 2958 * @generated
1577 */ 2959 */
1578 EAttribute getModelSymbol_Name(); 2960 EClass getUnnamedErrorPrediateDefinition();
1579 2961
1580 /** 2962 /**
1581 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol <em>Partiality Symbol</em>}'. 2963 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}'.
1582 * <!-- begin-user-doc --> 2964 * <!-- begin-user-doc -->
1583 * <!-- end-user-doc --> 2965 * <!-- end-user-doc -->
1584 * @return the meta object for class '<em>Partiality Symbol</em>'. 2966 * @return the meta object for the containment reference '<em>Argument List</em>'.
1585 * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol 2967 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList()
2968 * @see #getUnnamedErrorPrediateDefinition()
1586 * @generated 2969 * @generated
1587 */ 2970 */
1588 EClass getPartialitySymbol(); 2971 EReference getUnnamedErrorPrediateDefinition_ArgumentList();
1589 2972
1590 /** 2973 /**
1591 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol <em>Exist Symbol</em>}'. 2974 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}'.
1592 * <!-- begin-user-doc --> 2975 * <!-- begin-user-doc -->
1593 * <!-- end-user-doc --> 2976 * <!-- end-user-doc -->
1594 * @return the meta object for class '<em>Exist Symbol</em>'. 2977 * @return the meta object for the containment reference '<em>Body</em>'.
1595 * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol 2978 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody()
2979 * @see #getUnnamedErrorPrediateDefinition()
1596 * @generated 2980 * @generated
1597 */ 2981 */
1598 EClass getExistSymbol(); 2982 EReference getUnnamedErrorPrediateDefinition_Body();
1599 2983
1600 /** 2984 /**
1601 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol <em>Equals Symbol</em>}'. 2985 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
1602 * <!-- begin-user-doc --> 2986 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc --> 2987 * <!-- end-user-doc -->
1604 * @return the meta object for class '<em>Equals Symbol</em>'. 2988 * @return the meta object for class '<em>Default Definition</em>'.
1605 * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol 2989 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
1606 * @generated 2990 * @generated
1607 */ 2991 */
1608 EClass getEqualsSymbol(); 2992 EClass getDefaultDefinition();
1609 2993
1610 /** 2994 /**
1611 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol <em>Data Symbol</em>}'. 2995 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}'.
1612 * <!-- begin-user-doc --> 2996 * <!-- begin-user-doc -->
1613 * <!-- end-user-doc --> 2997 * <!-- end-user-doc -->
1614 * @return the meta object for class '<em>Data Symbol</em>'. 2998 * @return the meta object for the containment reference '<em>Head</em>'.
1615 * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol 2999 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead()
3000 * @see #getDefaultDefinition()
1616 * @generated 3001 * @generated
1617 */ 3002 */
1618 EClass getDataSymbol(); 3003 EReference getDefaultDefinition_Head();
1619 3004
1620 /** 3005 /**
1621 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol <em>Boolean Symbol</em>}'. 3006 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}'.
1622 * <!-- begin-user-doc --> 3007 * <!-- begin-user-doc -->
1623 * <!-- end-user-doc --> 3008 * <!-- end-user-doc -->
1624 * @return the meta object for class '<em>Boolean Symbol</em>'. 3009 * @return the meta object for the containment reference '<em>Range</em>'.
1625 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol 3010 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange()
3011 * @see #getDefaultDefinition()
1626 * @generated 3012 * @generated
1627 */ 3013 */
1628 EClass getBooleanSymbol(); 3014 EReference getDefaultDefinition_Range();
1629 3015
1630 /** 3016 /**
1631 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol <em>Integer Symbol</em>}'. 3017 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
1632 * <!-- begin-user-doc --> 3018 * <!-- begin-user-doc -->
1633 * <!-- end-user-doc --> 3019 * <!-- end-user-doc -->
1634 * @return the meta object for class '<em>Integer Symbol</em>'. 3020 * @return the meta object for class '<em>Extern Predicate Definition</em>'.
1635 * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol 3021 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
1636 * @generated 3022 * @generated
1637 */ 3023 */
1638 EClass getIntegerSymbol(); 3024 EClass getExternPredicateDefinition();
1639 3025
1640 /** 3026 /**
1641 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol <em>Real Symbol</em>}'. 3027 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}'.
1642 * <!-- begin-user-doc --> 3028 * <!-- begin-user-doc -->
1643 * <!-- end-user-doc --> 3029 * <!-- end-user-doc -->
1644 * @return the meta object for class '<em>Real Symbol</em>'. 3030 * @return the meta object for the containment reference '<em>Head</em>'.
1645 * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol 3031 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead()
3032 * @see #getExternPredicateDefinition()
1646 * @generated 3033 * @generated
1647 */ 3034 */
1648 EClass getRealSymbol(); 3035 EReference getExternPredicateDefinition_Head();
1649 3036
1650 /** 3037 /**
1651 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol <em>String Symbol</em>}'. 3038 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
1652 * <!-- begin-user-doc --> 3039 * <!-- begin-user-doc -->
1653 * <!-- end-user-doc --> 3040 * <!-- end-user-doc -->
1654 * @return the meta object for class '<em>String Symbol</em>'. 3041 * @return the meta object for class '<em>Metric Definition</em>'.
1655 * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol 3042 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
1656 * @generated 3043 * @generated
1657 */ 3044 */
1658 EClass getStringSymbol(); 3045 EClass getMetricDefinition();
1659 3046
1660 /** 3047 /**
1661 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject <em>Complex Object</em>}'. 3048 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}'.
1662 * <!-- begin-user-doc --> 3049 * <!-- begin-user-doc -->
1663 * <!-- end-user-doc --> 3050 * <!-- end-user-doc -->
1664 * @return the meta object for class '<em>Complex Object</em>'. 3051 * @return the meta object for the containment reference '<em>Head</em>'.
1665 * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject 3052 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead()
3053 * @see #getMetricDefinition()
1666 * @generated 3054 * @generated
1667 */ 3055 */
1668 EClass getComplexObject(); 3056 EReference getMetricDefinition_Head();
1669 3057
1670 /** 3058 /**
1671 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object <em>Object</em>}'. 3059 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}'.
1672 * <!-- begin-user-doc --> 3060 * <!-- begin-user-doc -->
1673 * <!-- end-user-doc --> 3061 * <!-- end-user-doc -->
1674 * @return the meta object for class '<em>Object</em>'. 3062 * @return the meta object for the containment reference '<em>Body</em>'.
1675 * @see org.eclipse.viatra.solver.language.solverLanguage.Object 3063 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody()
3064 * @see #getMetricDefinition()
1676 * @generated 3065 * @generated
1677 */ 3066 */
1678 EClass getObject(); 3067 EReference getMetricDefinition_Body();
1679 3068
1680 /** 3069 /**
1681 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject <em>Named Object</em>}'. 3070 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}'.
1682 * <!-- begin-user-doc --> 3071 * <!-- begin-user-doc -->
1683 * <!-- end-user-doc --> 3072 * <!-- end-user-doc -->
1684 * @return the meta object for class '<em>Named Object</em>'. 3073 * @return the meta object for the attribute '<em>Type</em>'.
1685 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject 3074 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType()
3075 * @see #getMetricDefinition()
1686 * @generated 3076 * @generated
1687 */ 3077 */
1688 EClass getNamedObject(); 3078 EAttribute getMetricDefinition_Type();
1689 3079
1690 /** 3080 /**
1691 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName <em>Name</em>}'. 3081 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
1692 * <!-- begin-user-doc --> 3082 * <!-- begin-user-doc -->
1693 * <!-- end-user-doc --> 3083 * <!-- end-user-doc -->
1694 * @return the meta object for the attribute '<em>Name</em>'. 3084 * @return the meta object for class '<em>Extern Metric Definition</em>'.
1695 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName() 3085 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
1696 * @see #getNamedObject()
1697 * @generated 3086 * @generated
1698 */ 3087 */
1699 EAttribute getNamedObject_Name(); 3088 EClass getExternMetricDefinition();
1700 3089
1701 /** 3090 /**
1702 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject <em>Unnamed Object</em>}'. 3091 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}'.
1703 * <!-- begin-user-doc --> 3092 * <!-- begin-user-doc -->
1704 * <!-- end-user-doc --> 3093 * <!-- end-user-doc -->
1705 * @return the meta object for class '<em>Unnamed Object</em>'. 3094 * @return the meta object for the attribute '<em>Type</em>'.
1706 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject 3095 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType()
3096 * @see #getExternMetricDefinition()
1707 * @generated 3097 * @generated
1708 */ 3098 */
1709 EClass getUnnamedObject(); 3099 EAttribute getExternMetricDefinition_Type();
1710 3100
1711 /** 3101 /**
1712 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName <em>Name</em>}'. 3102 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}'.
1713 * <!-- begin-user-doc --> 3103 * <!-- begin-user-doc -->
1714 * <!-- end-user-doc --> 3104 * <!-- end-user-doc -->
1715 * @return the meta object for the attribute '<em>Name</em>'. 3105 * @return the meta object for the containment reference '<em>Head</em>'.
1716 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName() 3106 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead()
1717 * @see #getUnnamedObject() 3107 * @see #getExternMetricDefinition()
1718 * @generated 3108 * @generated
1719 */ 3109 */
1720 EAttribute getUnnamedObject_Name(); 3110 EReference getExternMetricDefinition_Head();
1721 3111
1722 /** 3112 /**
1723 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject <em>Data Object</em>}'. 3113 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
1724 * <!-- begin-user-doc --> 3114 * <!-- begin-user-doc -->
1725 * <!-- end-user-doc --> 3115 * <!-- end-user-doc -->
1726 * @return the meta object for class '<em>Data Object</em>'. 3116 * @return the meta object for class '<em>Expression</em>'.
1727 * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject 3117 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
1728 * @generated 3118 * @generated
1729 */ 3119 */
1730 EClass getDataObject(); 3120 EClass getExpression();
1731 3121
1732 /** 3122 /**
1733 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject <em>Boolean Object</em>}'. 3123 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
1734 * <!-- begin-user-doc --> 3124 * <!-- begin-user-doc -->
1735 * <!-- end-user-doc --> 3125 * <!-- end-user-doc -->
1736 * @return the meta object for class '<em>Boolean Object</em>'. 3126 * @return the meta object for class '<em>If Else</em>'.
1737 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject 3127 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
1738 * @generated 3128 * @generated
1739 */ 3129 */
1740 EClass getBooleanObject(); 3130 EClass getIfElse();
1741 3131
1742 /** 3132 /**
1743 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}'. 3133 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}'.
1744 * <!-- begin-user-doc --> 3134 * <!-- begin-user-doc -->
1745 * <!-- end-user-doc --> 3135 * <!-- end-user-doc -->
1746 * @return the meta object for the containment reference '<em>Value</em>'. 3136 * @return the meta object for the containment reference '<em>Condition</em>'.
1747 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue() 3137 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition()
1748 * @see #getBooleanObject() 3138 * @see #getIfElse()
1749 * @generated 3139 * @generated
1750 */ 3140 */
1751 EReference getBooleanObject_Value(); 3141 EReference getIfElse_Condition();
1752 3142
1753 /** 3143 /**
1754 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject <em>Int Object</em>}'. 3144 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}'.
1755 * <!-- begin-user-doc --> 3145 * <!-- begin-user-doc -->
1756 * <!-- end-user-doc --> 3146 * <!-- end-user-doc -->
1757 * @return the meta object for class '<em>Int Object</em>'. 3147 * @return the meta object for the containment reference '<em>Then</em>'.
1758 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject 3148 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen()
3149 * @see #getIfElse()
1759 * @generated 3150 * @generated
1760 */ 3151 */
1761 EClass getIntObject(); 3152 EReference getIfElse_Then();
1762 3153
1763 /** 3154 /**
1764 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}'. 3155 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}'.
1765 * <!-- begin-user-doc --> 3156 * <!-- begin-user-doc -->
1766 * <!-- end-user-doc --> 3157 * <!-- end-user-doc -->
1767 * @return the meta object for the attribute '<em>Value</em>'. 3158 * @return the meta object for the containment reference '<em>Else</em>'.
1768 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue() 3159 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse()
1769 * @see #getIntObject() 3160 * @see #getIfElse()
1770 * @generated 3161 * @generated
1771 */ 3162 */
1772 EAttribute getIntObject_Value(); 3163 EReference getIfElse_Else();
1773 3164
1774 /** 3165 /**
1775 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject <em>Real Object</em>}'. 3166 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
1776 * <!-- begin-user-doc --> 3167 * <!-- begin-user-doc -->
1777 * <!-- end-user-doc --> 3168 * <!-- end-user-doc -->
1778 * @return the meta object for class '<em>Real Object</em>'. 3169 * @return the meta object for class '<em>Case</em>'.
1779 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject 3170 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
1780 * @generated 3171 * @generated
1781 */ 3172 */
1782 EClass getRealObject(); 3173 EClass getCase();
1783 3174
1784 /** 3175 /**
1785 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}'. 3176 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}'.
1786 * <!-- begin-user-doc --> 3177 * <!-- begin-user-doc -->
1787 * <!-- end-user-doc --> 3178 * <!-- end-user-doc -->
1788 * @return the meta object for the attribute '<em>Value</em>'. 3179 * @return the meta object for the containment reference '<em>Condition</em>'.
1789 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue() 3180 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition()
1790 * @see #getRealObject() 3181 * @see #getCase()
1791 * @generated 3182 * @generated
1792 */ 3183 */
1793 EAttribute getRealObject_Value(); 3184 EReference getCase_Condition();
1794 3185
1795 /** 3186 /**
1796 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject <em>String Object</em>}'. 3187 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}'.
1797 * <!-- begin-user-doc --> 3188 * <!-- begin-user-doc -->
1798 * <!-- end-user-doc --> 3189 * <!-- end-user-doc -->
1799 * @return the meta object for class '<em>String Object</em>'. 3190 * @return the meta object for the containment reference '<em>Body</em>'.
1800 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject 3191 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getBody()
3192 * @see #getCase()
1801 * @generated 3193 * @generated
1802 */ 3194 */
1803 EClass getStringObject(); 3195 EReference getCase_Body();
1804 3196
1805 /** 3197 /**
1806 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}'. 3198 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
1807 * <!-- begin-user-doc --> 3199 * <!-- begin-user-doc -->
1808 * <!-- end-user-doc --> 3200 * <!-- end-user-doc -->
1809 * @return the meta object for the attribute '<em>Value</em>'. 3201 * @return the meta object for class '<em>Count</em>'.
1810 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue() 3202 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
1811 * @see #getStringObject() 3203 * @generated
3204 */
3205 EClass getCount();
3206
3207 /**
3208 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}'.
3209 * <!-- begin-user-doc -->
3210 * <!-- end-user-doc -->
3211 * @return the meta object for the containment reference '<em>Body</em>'.
3212 * @see org.eclipse.viatra.solver.language.solverLanguage.Count#getBody()
3213 * @see #getCount()
3214 * @generated
3215 */
3216 EReference getCount_Body();
3217
3218 /**
3219 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
3220 * <!-- begin-user-doc -->
3221 * <!-- end-user-doc -->
3222 * @return the meta object for class '<em>Aggregation</em>'.
3223 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
3224 * @generated
3225 */
3226 EClass getAggregation();
3227
3228 /**
3229 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}'.
3230 * <!-- begin-user-doc -->
3231 * <!-- end-user-doc -->
3232 * @return the meta object for the attribute '<em>Op</em>'.
3233 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp()
3234 * @see #getAggregation()
3235 * @generated
3236 */
3237 EAttribute getAggregation_Op();
3238
3239 /**
3240 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}'.
3241 * <!-- begin-user-doc -->
3242 * <!-- end-user-doc -->
3243 * @return the meta object for the containment reference '<em>Body</em>'.
3244 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody()
3245 * @see #getAggregation()
3246 * @generated
3247 */
3248 EReference getAggregation_Body();
3249
3250 /**
3251 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}'.
3252 * <!-- begin-user-doc -->
3253 * <!-- end-user-doc -->
3254 * @return the meta object for the containment reference '<em>Condition</em>'.
3255 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition()
3256 * @see #getAggregation()
1812 * @generated 3257 * @generated
1813 */ 3258 */
1814 EAttribute getStringObject_Value(); 3259 EReference getAggregation_Condition();
1815 3260
1816 /** 3261 /**
1817 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'. 3262 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
1818 * <!-- begin-user-doc --> 3263 * <!-- begin-user-doc -->
1819 * <!-- end-user-doc --> 3264 * <!-- end-user-doc -->
1820 * @return the meta object for class '<em>Predicate</em>'. 3265 * @return the meta object for class '<em>Call</em>'.
1821 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate 3266 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
1822 * @generated 3267 * @generated
1823 */ 3268 */
1824 EClass getPredicate(); 3269 EClass getCall();
1825 3270
1826 /** 3271 /**
1827 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}'. 3272 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}'.
1828 * <!-- begin-user-doc --> 3273 * <!-- begin-user-doc -->
1829 * <!-- end-user-doc --> 3274 * <!-- end-user-doc -->
1830 * @return the meta object for the attribute '<em>Is Error</em>'. 3275 * @return the meta object for the containment reference '<em>Functor</em>'.
1831 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError() 3276 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor()
1832 * @see #getPredicate() 3277 * @see #getCall()
1833 * @generated 3278 * @generated
1834 */ 3279 */
1835 EAttribute getPredicate_IsError(); 3280 EReference getCall_Functor();
1836 3281
1837 /** 3282 /**
1838 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}'. 3283 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}'.
1839 * <!-- begin-user-doc --> 3284 * <!-- begin-user-doc -->
1840 * <!-- end-user-doc --> 3285 * <!-- end-user-doc -->
1841 * @return the meta object for the containment reference '<em>Symbol</em>'. 3286 * @return the meta object for the containment reference '<em>Argument List</em>'.
1842 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol() 3287 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList()
1843 * @see #getPredicate() 3288 * @see #getCall()
1844 * @generated 3289 * @generated
1845 */ 3290 */
1846 EReference getPredicate_Symbol(); 3291 EReference getCall_ArgumentList();
1847 3292
1848 /** 3293 /**
1849 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}'. 3294 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}'.
1850 * <!-- begin-user-doc --> 3295 * <!-- begin-user-doc -->
1851 * <!-- end-user-doc --> 3296 * <!-- end-user-doc -->
1852 * @return the meta object for the containment reference list '<em>Parameters</em>'. 3297 * @return the meta object for the attribute '<em>Transitive Closure</em>'.
1853 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters() 3298 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure()
1854 * @see #getPredicate() 3299 * @see #getCall()
1855 * @generated 3300 * @generated
1856 */ 3301 */
1857 EReference getPredicate_Parameters(); 3302 EAttribute getCall_TransitiveClosure();
1858 3303
1859 /** 3304 /**
1860 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}'. 3305 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}'.
1861 * <!-- begin-user-doc --> 3306 * <!-- begin-user-doc -->
1862 * <!-- end-user-doc --> 3307 * <!-- end-user-doc -->
1863 * @return the meta object for the containment reference list '<em>Bodies</em>'. 3308 * @return the meta object for the attribute '<em>Reflexive Transitive Closure</em>'.
1864 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies() 3309 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure()
1865 * @see #getPredicate() 3310 * @see #getCall()
1866 * @generated 3311 * @generated
1867 */ 3312 */
1868 EReference getPredicate_Bodies(); 3313 EAttribute getCall_ReflexiveTransitiveClosure();
1869 3314
1870 /** 3315 /**
1871 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'. 3316 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
1872 * <!-- begin-user-doc --> 3317 * <!-- begin-user-doc -->
1873 * <!-- end-user-doc --> 3318 * <!-- end-user-doc -->
1874 * @return the meta object for class '<em>Parameter</em>'. 3319 * @return the meta object for class '<em>Argument List</em>'.
1875 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter 3320 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
1876 * @generated 3321 * @generated
1877 */ 3322 */
1878 EClass getParameter(); 3323 EClass getArgumentList();
1879 3324
1880 /** 3325 /**
1881 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}'. 3326 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}'.
1882 * <!-- begin-user-doc --> 3327 * <!-- begin-user-doc -->
1883 * <!-- end-user-doc --> 3328 * <!-- end-user-doc -->
1884 * @return the meta object for the containment reference '<em>Variable</em>'. 3329 * @return the meta object for the containment reference list '<em>Arguments</em>'.
1885 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable() 3330 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments()
1886 * @see #getParameter() 3331 * @see #getArgumentList()
1887 * @generated 3332 * @generated
1888 */ 3333 */
1889 EReference getParameter_Variable(); 3334 EReference getArgumentList_Arguments();
1890 3335
1891 /** 3336 /**
1892 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}'. 3337 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
1893 * <!-- begin-user-doc --> 3338 * <!-- begin-user-doc -->
1894 * <!-- end-user-doc --> 3339 * <!-- end-user-doc -->
1895 * @return the meta object for the containment reference '<em>Type</em>'. 3340 * @return the meta object for class '<em>Argument</em>'.
1896 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType() 3341 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
1897 * @see #getParameter()
1898 * @generated 3342 * @generated
1899 */ 3343 */
1900 EReference getParameter_Type(); 3344 EClass getArgument();
1901 3345
1902 /** 3346 /**
1903 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody <em>Pattern Body</em>}'. 3347 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
1904 * <!-- begin-user-doc --> 3348 * <!-- begin-user-doc -->
1905 * <!-- end-user-doc --> 3349 * <!-- end-user-doc -->
1906 * @return the meta object for class '<em>Pattern Body</em>'. 3350 * @return the meta object for class '<em>Expression Argument</em>'.
1907 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody 3351 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
1908 * @generated 3352 * @generated
1909 */ 3353 */
1910 EClass getPatternBody(); 3354 EClass getExpressionArgument();
1911 3355
1912 /** 3356 /**
1913 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints <em>Constraints</em>}'. 3357 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}'.
1914 * <!-- begin-user-doc --> 3358 * <!-- begin-user-doc -->
1915 * <!-- end-user-doc --> 3359 * <!-- end-user-doc -->
1916 * @return the meta object for the containment reference list '<em>Constraints</em>'. 3360 * @return the meta object for the containment reference '<em>Body</em>'.
1917 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints() 3361 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody()
1918 * @see #getPatternBody() 3362 * @see #getExpressionArgument()
1919 * @generated 3363 * @generated
1920 */ 3364 */
1921 EReference getPatternBody_Constraints(); 3365 EReference getExpressionArgument_Body();
1922 3366
1923 /** 3367 /**
1924 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity <em>Polarity</em>}'. 3368 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
1925 * <!-- begin-user-doc --> 3369 * <!-- begin-user-doc -->
1926 * <!-- end-user-doc --> 3370 * <!-- end-user-doc -->
1927 * @return the meta object for class '<em>Polarity</em>'. 3371 * @return the meta object for class '<em>Star Argument</em>'.
1928 * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity 3372 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
1929 * @generated 3373 * @generated
1930 */ 3374 */
1931 EClass getPolarity(); 3375 EClass getStarArgument();
1932 3376
1933 /** 3377 /**
1934 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint <em>Constraint</em>}'. 3378 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
1935 * <!-- begin-user-doc --> 3379 * <!-- begin-user-doc -->
1936 * <!-- end-user-doc --> 3380 * <!-- end-user-doc -->
1937 * @return the meta object for class '<em>Constraint</em>'. 3381 * @return the meta object for class '<em>Typed Argument</em>'.
1938 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint 3382 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
1939 * @generated 3383 * @generated
1940 */ 3384 */
1941 EClass getConstraint(); 3385 EClass getTypedArgument();
1942 3386
1943 /** 3387 /**
1944 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}'. 3388 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}'.
1945 * <!-- begin-user-doc --> 3389 * <!-- begin-user-doc -->
1946 * <!-- end-user-doc --> 3390 * <!-- end-user-doc -->
1947 * @return the meta object for the containment reference '<em>Polarity</em>'. 3391 * @return the meta object for the reference '<em>Type</em>'.
1948 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity() 3392 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType()
1949 * @see #getConstraint() 3393 * @see #getTypedArgument()
1950 * @generated 3394 * @generated
1951 */ 3395 */
1952 EReference getConstraint_Polarity(); 3396 EReference getTypedArgument_Type();
1953 3397
1954 /** 3398 /**
1955 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}'. 3399 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}'.
1956 * <!-- begin-user-doc --> 3400 * <!-- begin-user-doc -->
1957 * <!-- end-user-doc --> 3401 * <!-- end-user-doc -->
1958 * @return the meta object for the containment reference '<em>Symbol</em>'. 3402 * @return the meta object for the reference '<em>Variable</em>'.
1959 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol() 3403 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable()
1960 * @see #getConstraint() 3404 * @see #getTypedArgument()
1961 * @generated 3405 * @generated
1962 */ 3406 */
1963 EReference getConstraint_Symbol(); 3407 EReference getTypedArgument_Variable();
1964 3408
1965 /** 3409 /**
1966 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams <em>Params</em>}'. 3410 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
1967 * <!-- begin-user-doc --> 3411 * <!-- begin-user-doc -->
1968 * <!-- end-user-doc --> 3412 * <!-- end-user-doc -->
1969 * @return the meta object for the containment reference list '<em>Params</em>'. 3413 * @return the meta object for class '<em>Typed Star Argument</em>'.
1970 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams() 3414 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
1971 * @see #getConstraint()
1972 * @generated 3415 * @generated
1973 */ 3416 */
1974 EReference getConstraint_Params(); 3417 EClass getTypedStarArgument();
1975 3418
1976 /** 3419 /**
1977 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}'. 3420 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}'.
1978 * <!-- begin-user-doc --> 3421 * <!-- begin-user-doc -->
1979 * <!-- end-user-doc --> 3422 * <!-- end-user-doc -->
1980 * @return the meta object for the containment reference '<em>Closure Type</em>'. 3423 * @return the meta object for the reference '<em>Type</em>'.
1981 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType() 3424 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType()
1982 * @see #getConstraint() 3425 * @see #getTypedStarArgument()
1983 * @generated 3426 * @generated
1984 */ 3427 */
1985 EReference getConstraint_ClosureType(); 3428 EReference getTypedStarArgument_Type();
1986 3429
1987 /** 3430 /**
1988 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType <em>Closure Type</em>}'. 3431 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
1989 * <!-- begin-user-doc --> 3432 * <!-- begin-user-doc -->
1990 * <!-- end-user-doc --> 3433 * <!-- end-user-doc -->
1991 * @return the meta object for class '<em>Closure Type</em>'. 3434 * @return the meta object for class '<em>Reference</em>'.
1992 * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType 3435 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
1993 * @generated 3436 * @generated
1994 */ 3437 */
1995 EClass getClosureType(); 3438 EClass getReference();
3439
3440 /**
3441 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}'.
3442 * <!-- begin-user-doc -->
3443 * <!-- end-user-doc -->
3444 * @return the meta object for the reference '<em>Referred</em>'.
3445 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred()
3446 * @see #getReference()
3447 * @generated
3448 */
3449 EReference getReference_Referred();
3450
3451 /**
3452 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
3453 * <!-- begin-user-doc -->
3454 * <!-- end-user-doc -->
3455 * @return the meta object for class '<em>Interval</em>'.
3456 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
3457 * @generated
3458 */
3459 EClass getInterval();
3460
3461 /**
3462 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}'.
3463 * <!-- begin-user-doc -->
3464 * <!-- end-user-doc -->
3465 * @return the meta object for the containment reference '<em>Lower Bound</em>'.
3466 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound()
3467 * @see #getInterval()
3468 * @generated
3469 */
3470 EReference getInterval_LowerBound();
3471
3472 /**
3473 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}'.
3474 * <!-- begin-user-doc -->
3475 * <!-- end-user-doc -->
3476 * @return the meta object for the containment reference '<em>Upper Bound</em>'.
3477 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound()
3478 * @see #getInterval()
3479 * @generated
3480 */
3481 EReference getInterval_UpperBound();
1996 3482
1997 /** 3483 /**
1998 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'. 3484 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
@@ -2005,446 +3491,646 @@ public interface SolverLanguagePackage extends EPackage
2005 EClass getLiteral(); 3491 EClass getLiteral();
2006 3492
2007 /** 3493 /**
2008 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'. 3494 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
2009 * <!-- begin-user-doc --> 3495 * <!-- begin-user-doc -->
2010 * <!-- end-user-doc --> 3496 * <!-- end-user-doc -->
2011 * @return the meta object for class '<em>Variable</em>'. 3497 * @return the meta object for class '<em>Logic Literal</em>'.
2012 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable 3498 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
2013 * @generated 3499 * @generated
2014 */ 3500 */
2015 EClass getVariable(); 3501 EClass getLogicLiteral();
2016 3502
2017 /** 3503 /**
2018 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName <em>Name</em>}'. 3504 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}'.
3505 * <!-- begin-user-doc -->
3506 * <!-- end-user-doc -->
3507 * @return the meta object for the attribute '<em>Value</em>'.
3508 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue()
3509 * @see #getLogicLiteral()
3510 * @generated
3511 */
3512 EAttribute getLogicLiteral_Value();
3513
3514 /**
3515 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
3516 * <!-- begin-user-doc -->
3517 * <!-- end-user-doc -->
3518 * @return the meta object for class '<em>Numeric Literal</em>'.
3519 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
3520 * @generated
3521 */
3522 EClass getNumericLiteral();
3523
3524 /**
3525 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}'.
3526 * <!-- begin-user-doc -->
3527 * <!-- end-user-doc -->
3528 * @return the meta object for the attribute '<em>Value</em>'.
3529 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue()
3530 * @see #getNumericLiteral()
3531 * @generated
3532 */
3533 EAttribute getNumericLiteral_Value();
3534
3535 /**
3536 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
3537 * <!-- begin-user-doc -->
3538 * <!-- end-user-doc -->
3539 * @return the meta object for class '<em>Infinity Literal</em>'.
3540 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
3541 * @generated
3542 */
3543 EClass getInfinityLiteral();
3544
3545 /**
3546 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
3547 * <!-- begin-user-doc -->
3548 * <!-- end-user-doc -->
3549 * @return the meta object for class '<em>Empty Interval Literal</em>'.
3550 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
3551 * @generated
3552 */
3553 EClass getEmptyIntervalLiteral();
3554
3555 /**
3556 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
3557 * <!-- begin-user-doc -->
3558 * <!-- end-user-doc -->
3559 * @return the meta object for class '<em>String Literal</em>'.
3560 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
3561 * @generated
3562 */
3563 EClass getStringLiteral();
3564
3565 /**
3566 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}'.
3567 * <!-- begin-user-doc -->
3568 * <!-- end-user-doc -->
3569 * @return the meta object for the attribute '<em>Value</em>'.
3570 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue()
3571 * @see #getStringLiteral()
3572 * @generated
3573 */
3574 EAttribute getStringLiteral_Value();
3575
3576 /**
3577 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
3578 * <!-- begin-user-doc -->
3579 * <!-- end-user-doc -->
3580 * @return the meta object for class '<em>Member Definition</em>'.
3581 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
3582 * @generated
3583 */
3584 EClass getMemberDefinition();
3585
3586 /**
3587 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}'.
3588 * <!-- begin-user-doc -->
3589 * <!-- end-user-doc -->
3590 * @return the meta object for the attribute '<em>Containment</em>'.
3591 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment()
3592 * @see #getMemberDefinition()
3593 * @generated
3594 */
3595 EAttribute getMemberDefinition_Containment();
3596
3597 /**
3598 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}'.
3599 * <!-- begin-user-doc -->
3600 * <!-- end-user-doc -->
3601 * @return the meta object for the reference '<em>Type</em>'.
3602 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType()
3603 * @see #getMemberDefinition()
3604 * @generated
3605 */
3606 EReference getMemberDefinition_Type();
3607
3608 /**
3609 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}'.
3610 * <!-- begin-user-doc -->
3611 * <!-- end-user-doc -->
3612 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
3613 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity()
3614 * @see #getMemberDefinition()
3615 * @generated
3616 */
3617 EReference getMemberDefinition_Multiplicity();
3618
3619 /**
3620 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}'.
2019 * <!-- begin-user-doc --> 3621 * <!-- begin-user-doc -->
2020 * <!-- end-user-doc --> 3622 * <!-- end-user-doc -->
2021 * @return the meta object for the attribute '<em>Name</em>'. 3623 * @return the meta object for the attribute '<em>Name</em>'.
2022 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getName() 3624 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName()
2023 * @see #getVariable() 3625 * @see #getMemberDefinition()
2024 * @generated 3626 * @generated
2025 */ 3627 */
2026 EAttribute getVariable_Name(); 3628 EAttribute getMemberDefinition_Name();
2027 3629
2028 /** 3630 /**
2029 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances <em>All Instances</em>}'. 3631 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}'.
2030 * <!-- begin-user-doc --> 3632 * <!-- begin-user-doc -->
2031 * <!-- end-user-doc --> 3633 * <!-- end-user-doc -->
2032 * @return the meta object for class '<em>All Instances</em>'. 3634 * @return the meta object for the reference '<em>Opposite</em>'.
2033 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances 3635 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite()
3636 * @see #getMemberDefinition()
2034 * @generated 3637 * @generated
2035 */ 3638 */
2036 EClass getAllInstances(); 3639 EReference getMemberDefinition_Opposite();
2037 3640
2038 /** 3641 /**
2039 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}'. 3642 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
2040 * <!-- begin-user-doc --> 3643 * <!-- begin-user-doc -->
2041 * <!-- end-user-doc --> 3644 * <!-- end-user-doc -->
2042 * @return the meta object for the containment reference '<em>Symbol</em>'. 3645 * @return the meta object for class '<em>Multiplicity</em>'.
2043 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol() 3646 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
2044 * @see #getAllInstances()
2045 * @generated 3647 * @generated
2046 */ 3648 */
2047 EReference getAllInstances_Symbol(); 3649 EClass getMultiplicity();
2048 3650
2049 /** 3651 /**
2050 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects <em>All Objects</em>}'. 3652 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
2051 * <!-- begin-user-doc --> 3653 * <!-- begin-user-doc -->
2052 * <!-- end-user-doc --> 3654 * <!-- end-user-doc -->
2053 * @return the meta object for class '<em>All Objects</em>'. 3655 * @return the meta object for class '<em>Many Multiplicity</em>'.
2054 * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects 3656 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
2055 * @generated 3657 * @generated
2056 */ 3658 */
2057 EClass getAllObjects(); 3659 EClass getManyMultiplicity();
2058 3660
2059 /** 3661 /**
2060 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation <em>Default Interpretation</em>}'. 3662 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
2061 * <!-- begin-user-doc --> 3663 * <!-- begin-user-doc -->
2062 * <!-- end-user-doc --> 3664 * <!-- end-user-doc -->
2063 * @return the meta object for class '<em>Default Interpretation</em>'. 3665 * @return the meta object for class '<em>Exact Multiplicity</em>'.
2064 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation 3666 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
2065 * @generated 3667 * @generated
2066 */ 3668 */
2067 EClass getDefaultInterpretation(); 3669 EClass getExactMultiplicity();
2068 3670
2069 /** 3671 /**
2070 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}'. 3672 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}'.
2071 * <!-- begin-user-doc --> 3673 * <!-- begin-user-doc -->
2072 * <!-- end-user-doc --> 3674 * <!-- end-user-doc -->
2073 * @return the meta object for the containment reference '<em>Interpretation</em>'. 3675 * @return the meta object for the attribute '<em>Multiplicity</em>'.
2074 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation() 3676 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity()
2075 * @see #getDefaultInterpretation() 3677 * @see #getExactMultiplicity()
2076 * @generated 3678 * @generated
2077 */ 3679 */
2078 EReference getDefaultInterpretation_Interpretation(); 3680 EAttribute getExactMultiplicity_Multiplicity();
2079 3681
2080 /** 3682 /**
2081 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation <em>CD Interpretation</em>}'. 3683 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
2082 * <!-- begin-user-doc --> 3684 * <!-- begin-user-doc -->
2083 * <!-- end-user-doc --> 3685 * <!-- end-user-doc -->
2084 * @return the meta object for class '<em>CD Interpretation</em>'. 3686 * @return the meta object for class '<em>Bounded Multiplicity</em>'.
2085 * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation 3687 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
2086 * @generated 3688 * @generated
2087 */ 3689 */
2088 EClass getCDInterpretation(); 3690 EClass getBoundedMultiplicity();
2089 3691
2090 /** 3692 /**
2091 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation <em>Class Interpretation</em>}'. 3693 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}'.
2092 * <!-- begin-user-doc --> 3694 * <!-- begin-user-doc -->
2093 * <!-- end-user-doc --> 3695 * <!-- end-user-doc -->
2094 * @return the meta object for class '<em>Class Interpretation</em>'. 3696 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2095 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation 3697 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound()
3698 * @see #getBoundedMultiplicity()
2096 * @generated 3699 * @generated
2097 */ 3700 */
2098 EClass getClassInterpretation(); 3701 EAttribute getBoundedMultiplicity_LowerBound();
2099 3702
2100 /** 3703 /**
2101 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract <em>Abstract</em>}'. 3704 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}'.
2102 * <!-- begin-user-doc --> 3705 * <!-- begin-user-doc -->
2103 * <!-- end-user-doc --> 3706 * <!-- end-user-doc -->
2104 * @return the meta object for the attribute '<em>Abstract</em>'. 3707 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2105 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract() 3708 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound()
2106 * @see #getClassInterpretation() 3709 * @see #getBoundedMultiplicity()
2107 * @generated 3710 * @generated
2108 */ 3711 */
2109 EAttribute getClassInterpretation_Abstract(); 3712 EAttribute getBoundedMultiplicity_UpperBound();
2110 3713
2111 /** 3714 /**
2112 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}'. 3715 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
2113 * <!-- begin-user-doc --> 3716 * <!-- begin-user-doc -->
2114 * <!-- end-user-doc --> 3717 * <!-- end-user-doc -->
2115 * @return the meta object for the containment reference '<em>Symbol</em>'. 3718 * @return the meta object for class '<em>Scope Definition</em>'.
2116 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol() 3719 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
2117 * @see #getClassInterpretation()
2118 * @generated 3720 * @generated
2119 */ 3721 */
2120 EReference getClassInterpretation_Symbol(); 3722 EClass getScopeDefinition();
2121 3723
2122 /** 3724 /**
2123 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes <em>Supertypes</em>}'. 3725 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}'.
2124 * <!-- begin-user-doc --> 3726 * <!-- begin-user-doc -->
2125 * <!-- end-user-doc --> 3727 * <!-- end-user-doc -->
2126 * @return the meta object for the containment reference list '<em>Supertypes</em>'. 3728 * @return the meta object for the reference '<em>Type</em>'.
2127 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes() 3729 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType()
2128 * @see #getClassInterpretation() 3730 * @see #getScopeDefinition()
2129 * @generated 3731 * @generated
2130 */ 3732 */
2131 EReference getClassInterpretation_Supertypes(); 3733 EReference getScopeDefinition_Type();
2132 3734
2133 /** 3735 /**
2134 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt <em>Fielt</em>}'. 3736 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
2135 * <!-- begin-user-doc --> 3737 * <!-- begin-user-doc -->
2136 * <!-- end-user-doc --> 3738 * <!-- end-user-doc -->
2137 * @return the meta object for the containment reference list '<em>Fielt</em>'. 3739 * @return the meta object for class '<em>Exact Scope Definition</em>'.
2138 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt() 3740 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
2139 * @see #getClassInterpretation()
2140 * @generated 3741 * @generated
2141 */ 3742 */
2142 EReference getClassInterpretation_Fielt(); 3743 EClass getExactScopeDefinition();
2143 3744
2144 /** 3745 /**
2145 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation <em>Enum Interpretation</em>}'. 3746 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}'.
2146 * <!-- begin-user-doc --> 3747 * <!-- begin-user-doc -->
2147 * <!-- end-user-doc --> 3748 * <!-- end-user-doc -->
2148 * @return the meta object for class '<em>Enum Interpretation</em>'. 3749 * @return the meta object for the attribute '<em>Exact Scope</em>'.
2149 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation 3750 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope()
3751 * @see #getExactScopeDefinition()
2150 * @generated 3752 * @generated
2151 */ 3753 */
2152 EClass getEnumInterpretation(); 3754 EAttribute getExactScopeDefinition_ExactScope();
2153 3755
2154 /** 3756 /**
2155 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}'. 3757 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
2156 * <!-- begin-user-doc --> 3758 * <!-- begin-user-doc -->
2157 * <!-- end-user-doc --> 3759 * <!-- end-user-doc -->
2158 * @return the meta object for the containment reference '<em>Symbol</em>'. 3760 * @return the meta object for class '<em>Bounded Scope Definition</em>'.
2159 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol() 3761 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
2160 * @see #getEnumInterpretation()
2161 * @generated 3762 * @generated
2162 */ 3763 */
2163 EReference getEnumInterpretation_Symbol(); 3764 EClass getBoundedScopeDefinition();
2164 3765
2165 /** 3766 /**
2166 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects <em>Objects</em>}'. 3767 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2167 * <!-- begin-user-doc --> 3768 * <!-- begin-user-doc -->
2168 * <!-- end-user-doc --> 3769 * <!-- end-user-doc -->
2169 * @return the meta object for the containment reference list '<em>Objects</em>'. 3770 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2170 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects() 3771 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound()
2171 * @see #getEnumInterpretation() 3772 * @see #getBoundedScopeDefinition()
2172 * @generated 3773 * @generated
2173 */ 3774 */
2174 EReference getEnumInterpretation_Objects(); 3775 EAttribute getBoundedScopeDefinition_LowerBound();
2175 3776
2176 /** 3777 /**
2177 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation <em>Field Relation Interpretation</em>}'. 3778 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}'.
2178 * <!-- begin-user-doc --> 3779 * <!-- begin-user-doc -->
2179 * <!-- end-user-doc --> 3780 * <!-- end-user-doc -->
2180 * @return the meta object for class '<em>Field Relation Interpretation</em>'. 3781 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2181 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation 3782 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound()
3783 * @see #getBoundedScopeDefinition()
2182 * @generated 3784 * @generated
2183 */ 3785 */
2184 EClass getFieldRelationInterpretation(); 3786 EAttribute getBoundedScopeDefinition_UpperBound();
2185 3787
2186 /** 3788 /**
2187 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment <em>Containment</em>}'. 3789 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
2188 * <!-- begin-user-doc --> 3790 * <!-- begin-user-doc -->
2189 * <!-- end-user-doc --> 3791 * <!-- end-user-doc -->
2190 * @return the meta object for the attribute '<em>Containment</em>'. 3792 * @return the meta object for class '<em>Lower Bounded Scope Definition</em>'.
2191 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment() 3793 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
2192 * @see #getFieldRelationInterpretation()
2193 * @generated 3794 * @generated
2194 */ 3795 */
2195 EAttribute getFieldRelationInterpretation_Containment(); 3796 EClass getLowerBoundedScopeDefinition();
2196 3797
2197 /** 3798 /**
2198 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}'. 3799 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2199 * <!-- begin-user-doc --> 3800 * <!-- begin-user-doc -->
2200 * <!-- end-user-doc --> 3801 * <!-- end-user-doc -->
2201 * @return the meta object for the containment reference '<em>Symbol</em>'. 3802 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2202 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol() 3803 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound()
2203 * @see #getFieldRelationInterpretation() 3804 * @see #getLowerBoundedScopeDefinition()
2204 * @generated 3805 * @generated
2205 */ 3806 */
2206 EReference getFieldRelationInterpretation_Symbol(); 3807 EAttribute getLowerBoundedScopeDefinition_LowerBound();
2207 3808
2208 /** 3809 /**
2209 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}'. 3810 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
2210 * <!-- begin-user-doc --> 3811 * <!-- begin-user-doc -->
2211 * <!-- end-user-doc --> 3812 * <!-- end-user-doc -->
2212 * @return the meta object for the containment reference '<em>Multiplicity</em>'. 3813 * @return the meta object for class '<em>Objective Definition</em>'.
2213 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity() 3814 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
2214 * @see #getFieldRelationInterpretation()
2215 * @generated 3815 * @generated
2216 */ 3816 */
2217 EReference getFieldRelationInterpretation_Multiplicity(); 3817 EClass getObjectiveDefinition();
2218 3818
2219 /** 3819 /**
2220 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}'. 3820 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}'.
2221 * <!-- begin-user-doc --> 3821 * <!-- begin-user-doc -->
2222 * <!-- end-user-doc --> 3822 * <!-- end-user-doc -->
2223 * @return the meta object for the containment reference '<em>Target</em>'. 3823 * @return the meta object for the attribute '<em>Kind</em>'.
2224 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget() 3824 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind()
2225 * @see #getFieldRelationInterpretation() 3825 * @see #getObjectiveDefinition()
2226 * @generated 3826 * @generated
2227 */ 3827 */
2228 EReference getFieldRelationInterpretation_Target(); 3828 EAttribute getObjectiveDefinition_Kind();
2229 3829
2230 /** 3830 /**
2231 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation <em>Global Relation Interpretation</em>}'. 3831 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}'.
2232 * <!-- begin-user-doc --> 3832 * <!-- begin-user-doc -->
2233 * <!-- end-user-doc --> 3833 * <!-- end-user-doc -->
2234 * @return the meta object for class '<em>Global Relation Interpretation</em>'. 3834 * @return the meta object for the containment reference '<em>Objective</em>'.
2235 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation 3835 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective()
3836 * @see #getObjectiveDefinition()
2236 * @generated 3837 * @generated
2237 */ 3838 */
2238 EClass getGlobalRelationInterpretation(); 3839 EReference getObjectiveDefinition_Objective();
2239 3840
2240 /** 3841 /**
2241 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment <em>Containment</em>}'. 3842 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
2242 * <!-- begin-user-doc --> 3843 * <!-- begin-user-doc -->
2243 * <!-- end-user-doc --> 3844 * <!-- end-user-doc -->
2244 * @return the meta object for the attribute '<em>Containment</em>'. 3845 * @return the meta object for class '<em>Named Element</em>'.
2245 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment() 3846 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
2246 * @see #getGlobalRelationInterpretation() 3847 * @generated
3848 */
3849 EClass getNamedElement();
3850
3851 /**
3852 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}'.
3853 * <!-- begin-user-doc -->
3854 * <!-- end-user-doc -->
3855 * @return the meta object for the attribute '<em>Name</em>'.
3856 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName()
3857 * @see #getNamedElement()
3858 * @generated
3859 */
3860 EAttribute getNamedElement_Name();
3861
3862 /**
3863 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
3864 * <!-- begin-user-doc -->
3865 * <!-- end-user-doc -->
3866 * @return the meta object for class '<em>Assertion</em>'.
3867 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
3868 * @generated
3869 */
3870 EClass getAssertion();
3871
3872 /**
3873 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}'.
3874 * <!-- begin-user-doc -->
3875 * <!-- end-user-doc -->
3876 * @return the meta object for the containment reference '<em>Body</em>'.
3877 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody()
3878 * @see #getAssertion()
3879 * @generated
3880 */
3881 EReference getAssertion_Body();
3882
3883 /**
3884 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}'.
3885 * <!-- begin-user-doc -->
3886 * <!-- end-user-doc -->
3887 * @return the meta object for the containment reference '<em>Range</em>'.
3888 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange()
3889 * @see #getAssertion()
3890 * @generated
3891 */
3892 EReference getAssertion_Range();
3893
3894 /**
3895 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
3896 * <!-- begin-user-doc -->
3897 * <!-- end-user-doc -->
3898 * @return the meta object for class '<em>Disjunction</em>'.
3899 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
3900 * @generated
3901 */
3902 EClass getDisjunction();
3903
3904 /**
3905 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}'.
3906 * <!-- begin-user-doc -->
3907 * <!-- end-user-doc -->
3908 * @return the meta object for the containment reference list '<em>Children</em>'.
3909 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren()
3910 * @see #getDisjunction()
3911 * @generated
3912 */
3913 EReference getDisjunction_Children();
3914
3915 /**
3916 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
3917 * <!-- begin-user-doc -->
3918 * <!-- end-user-doc -->
3919 * @return the meta object for class '<em>Switch</em>'.
3920 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
3921 * @generated
3922 */
3923 EClass getSwitch();
3924
3925 /**
3926 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}'.
3927 * <!-- begin-user-doc -->
3928 * <!-- end-user-doc -->
3929 * @return the meta object for the containment reference list '<em>Cases</em>'.
3930 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases()
3931 * @see #getSwitch()
2247 * @generated 3932 * @generated
2248 */ 3933 */
2249 EAttribute getGlobalRelationInterpretation_Containment(); 3934 EReference getSwitch_Cases();
2250 3935
2251 /** 3936 /**
2252 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}'. 3937 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
2253 * <!-- begin-user-doc --> 3938 * <!-- begin-user-doc -->
2254 * <!-- end-user-doc --> 3939 * <!-- end-user-doc -->
2255 * @return the meta object for the containment reference '<em>Symbol</em>'. 3940 * @return the meta object for class '<em>Conjunction</em>'.
2256 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol() 3941 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
2257 * @see #getGlobalRelationInterpretation()
2258 * @generated 3942 * @generated
2259 */ 3943 */
2260 EReference getGlobalRelationInterpretation_Symbol(); 3944 EClass getConjunction();
2261 3945
2262 /** 3946 /**
2263 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}'. 3947 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}'.
2264 * <!-- begin-user-doc --> 3948 * <!-- begin-user-doc -->
2265 * <!-- end-user-doc --> 3949 * <!-- end-user-doc -->
2266 * @return the meta object for the containment reference '<em>Source Multiplicity</em>'. 3950 * @return the meta object for the containment reference list '<em>Children</em>'.
2267 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity() 3951 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren()
2268 * @see #getGlobalRelationInterpretation() 3952 * @see #getConjunction()
2269 * @generated 3953 * @generated
2270 */ 3954 */
2271 EReference getGlobalRelationInterpretation_SourceMultiplicity(); 3955 EReference getConjunction_Children();
2272 3956
2273 /** 3957 /**
2274 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}'. 3958 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
2275 * <!-- begin-user-doc --> 3959 * <!-- begin-user-doc -->
2276 * <!-- end-user-doc --> 3960 * <!-- end-user-doc -->
2277 * @return the meta object for the containment reference '<em>Source</em>'. 3961 * @return the meta object for class '<em>Comparison</em>'.
2278 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource() 3962 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
2279 * @see #getGlobalRelationInterpretation()
2280 * @generated 3963 * @generated
2281 */ 3964 */
2282 EReference getGlobalRelationInterpretation_Source(); 3965 EClass getComparison();
2283 3966
2284 /** 3967 /**
2285 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}'. 3968 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}'.
2286 * <!-- begin-user-doc --> 3969 * <!-- begin-user-doc -->
2287 * <!-- end-user-doc --> 3970 * <!-- end-user-doc -->
2288 * @return the meta object for the containment reference '<em>Target Multiplicity</em>'. 3971 * @return the meta object for the containment reference '<em>Left</em>'.
2289 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity() 3972 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft()
2290 * @see #getGlobalRelationInterpretation() 3973 * @see #getComparison()
2291 * @generated 3974 * @generated
2292 */ 3975 */
2293 EReference getGlobalRelationInterpretation_TargetMultiplicity(); 3976 EReference getComparison_Left();
2294 3977
2295 /** 3978 /**
2296 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}'. 3979 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}'.
2297 * <!-- begin-user-doc --> 3980 * <!-- begin-user-doc -->
2298 * <!-- end-user-doc --> 3981 * <!-- end-user-doc -->
2299 * @return the meta object for the containment reference '<em>Target</em>'. 3982 * @return the meta object for the attribute '<em>Op</em>'.
2300 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget() 3983 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp()
2301 * @see #getGlobalRelationInterpretation() 3984 * @see #getComparison()
2302 * @generated 3985 * @generated
2303 */ 3986 */
2304 EReference getGlobalRelationInterpretation_Target(); 3987 EAttribute getComparison_Op();
2305 3988
2306 /** 3989 /**
2307 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition <em>Multiplicity Definition</em>}'. 3990 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}'.
2308 * <!-- begin-user-doc --> 3991 * <!-- begin-user-doc -->
2309 * <!-- end-user-doc --> 3992 * <!-- end-user-doc -->
2310 * @return the meta object for class '<em>Multiplicity Definition</em>'. 3993 * @return the meta object for the containment reference '<em>Right</em>'.
2311 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition 3994 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight()
3995 * @see #getComparison()
2312 * @generated 3996 * @generated
2313 */ 3997 */
2314 EClass getMultiplicityDefinition(); 3998 EReference getComparison_Right();
2315 3999
2316 /** 4000 /**
2317 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}'. 4001 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
2318 * <!-- begin-user-doc --> 4002 * <!-- begin-user-doc -->
2319 * <!-- end-user-doc --> 4003 * <!-- end-user-doc -->
2320 * @return the meta object for the attribute '<em>Lower</em>'. 4004 * @return the meta object for class '<em>Binary Expression</em>'.
2321 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower() 4005 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
2322 * @see #getMultiplicityDefinition()
2323 * @generated 4006 * @generated
2324 */ 4007 */
2325 EAttribute getMultiplicityDefinition_Lower(); 4008 EClass getBinaryExpression();
2326 4009
2327 /** 4010 /**
2328 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}'. 4011 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}'.
2329 * <!-- begin-user-doc --> 4012 * <!-- begin-user-doc -->
2330 * <!-- end-user-doc --> 4013 * <!-- end-user-doc -->
2331 * @return the meta object for the attribute '<em>Upper</em>'. 4014 * @return the meta object for the containment reference '<em>Left</em>'.
2332 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper() 4015 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft()
2333 * @see #getMultiplicityDefinition() 4016 * @see #getBinaryExpression()
2334 * @generated 4017 * @generated
2335 */ 4018 */
2336 EAttribute getMultiplicityDefinition_Upper(); 4019 EReference getBinaryExpression_Left();
2337 4020
2338 /** 4021 /**
2339 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}'. 4022 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}'.
2340 * <!-- begin-user-doc --> 4023 * <!-- begin-user-doc -->
2341 * <!-- end-user-doc --> 4024 * <!-- end-user-doc -->
2342 * @return the meta object for the attribute '<em>Unlimited Upper</em>'. 4025 * @return the meta object for the attribute '<em>Op</em>'.
2343 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper() 4026 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp()
2344 * @see #getMultiplicityDefinition() 4027 * @see #getBinaryExpression()
2345 * @generated 4028 * @generated
2346 */ 4029 */
2347 EAttribute getMultiplicityDefinition_UnlimitedUpper(); 4030 EAttribute getBinaryExpression_Op();
2348 4031
2349 /** 4032 /**
2350 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue <em>Boolean True</em>}'. 4033 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}'.
2351 * <!-- begin-user-doc --> 4034 * <!-- begin-user-doc -->
2352 * <!-- end-user-doc --> 4035 * <!-- end-user-doc -->
2353 * @return the meta object for class '<em>Boolean True</em>'. 4036 * @return the meta object for the containment reference '<em>Right</em>'.
2354 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue 4037 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight()
4038 * @see #getBinaryExpression()
2355 * @generated 4039 * @generated
2356 */ 4040 */
2357 EClass getBooleanTrue(); 4041 EReference getBinaryExpression_Right();
2358 4042
2359 /** 4043 /**
2360 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse <em>Boolean False</em>}'. 4044 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
2361 * <!-- begin-user-doc --> 4045 * <!-- begin-user-doc -->
2362 * <!-- end-user-doc --> 4046 * <!-- end-user-doc -->
2363 * @return the meta object for class '<em>Boolean False</em>'. 4047 * @return the meta object for class '<em>Unary Expression</em>'.
2364 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse 4048 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
2365 * @generated 4049 * @generated
2366 */ 4050 */
2367 EClass getBooleanFalse(); 4051 EClass getUnaryExpression();
2368 4052
2369 /** 4053 /**
2370 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.True <em>True</em>}'. 4054 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}'.
2371 * <!-- begin-user-doc --> 4055 * <!-- begin-user-doc -->
2372 * <!-- end-user-doc --> 4056 * <!-- end-user-doc -->
2373 * @return the meta object for class '<em>True</em>'. 4057 * @return the meta object for the attribute '<em>Op</em>'.
2374 * @see org.eclipse.viatra.solver.language.solverLanguage.True 4058 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp()
4059 * @see #getUnaryExpression()
2375 * @generated 4060 * @generated
2376 */ 4061 */
2377 EClass getTrue(); 4062 EAttribute getUnaryExpression_Op();
2378 4063
2379 /** 4064 /**
2380 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.False <em>False</em>}'. 4065 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}'.
2381 * <!-- begin-user-doc --> 4066 * <!-- begin-user-doc -->
2382 * <!-- end-user-doc --> 4067 * <!-- end-user-doc -->
2383 * @return the meta object for class '<em>False</em>'. 4068 * @return the meta object for the containment reference '<em>Body</em>'.
2384 * @see org.eclipse.viatra.solver.language.solverLanguage.False 4069 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody()
4070 * @see #getUnaryExpression()
2385 * @generated 4071 * @generated
2386 */ 4072 */
2387 EClass getFalse(); 4073 EReference getUnaryExpression_Body();
2388 4074
2389 /** 4075 /**
2390 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown <em>Unknown</em>}'. 4076 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}'.
2391 * <!-- begin-user-doc --> 4077 * <!-- begin-user-doc -->
2392 * <!-- end-user-doc --> 4078 * <!-- end-user-doc -->
2393 * @return the meta object for class '<em>Unknown</em>'. 4079 * @return the meta object for enum '<em>Metric Type</em>'.
2394 * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown 4080 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
2395 * @generated 4081 * @generated
2396 */ 4082 */
2397 EClass getUnknown(); 4083 EEnum getMetricType();
2398 4084
2399 /** 4085 /**
2400 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error <em>Error</em>}'. 4086 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}'.
2401 * <!-- begin-user-doc --> 4087 * <!-- begin-user-doc -->
2402 * <!-- end-user-doc --> 4088 * <!-- end-user-doc -->
2403 * @return the meta object for class '<em>Error</em>'. 4089 * @return the meta object for enum '<em>Binary Operator</em>'.
2404 * @see org.eclipse.viatra.solver.language.solverLanguage.Error 4090 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
2405 * @generated 4091 * @generated
2406 */ 4092 */
2407 EClass getError(); 4093 EEnum getBinaryOperator();
2408 4094
2409 /** 4095 /**
2410 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive <em>Positive</em>}'. 4096 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}'.
2411 * <!-- begin-user-doc --> 4097 * <!-- begin-user-doc -->
2412 * <!-- end-user-doc --> 4098 * <!-- end-user-doc -->
2413 * @return the meta object for class '<em>Positive</em>'. 4099 * @return the meta object for enum '<em>Unary Op</em>'.
2414 * @see org.eclipse.viatra.solver.language.solverLanguage.Positive 4100 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
2415 * @generated 4101 * @generated
2416 */ 4102 */
2417 EClass getPositive(); 4103 EEnum getUnaryOp();
2418 4104
2419 /** 4105 /**
2420 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative <em>Negative</em>}'. 4106 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}'.
2421 * <!-- begin-user-doc --> 4107 * <!-- begin-user-doc -->
2422 * <!-- end-user-doc --> 4108 * <!-- end-user-doc -->
2423 * @return the meta object for class '<em>Negative</em>'. 4109 * @return the meta object for enum '<em>Aggregation Op</em>'.
2424 * @see org.eclipse.viatra.solver.language.solverLanguage.Negative 4110 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
2425 * @generated 4111 * @generated
2426 */ 4112 */
2427 EClass getNegative(); 4113 EEnum getAggregationOp();
2428 4114
2429 /** 4115 /**
2430 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure <em>Reflexive Closure</em>}'. 4116 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}'.
2431 * <!-- begin-user-doc --> 4117 * <!-- begin-user-doc -->
2432 * <!-- end-user-doc --> 4118 * <!-- end-user-doc -->
2433 * @return the meta object for class '<em>Reflexive Closure</em>'. 4119 * @return the meta object for enum '<em>Logic Value</em>'.
2434 * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure 4120 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
2435 * @generated 4121 * @generated
2436 */ 4122 */
2437 EClass getReflexiveClosure(); 4123 EEnum getLogicValue();
2438 4124
2439 /** 4125 /**
2440 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure <em>Irreflexive Closure</em>}'. 4126 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}'.
2441 * <!-- begin-user-doc --> 4127 * <!-- begin-user-doc -->
2442 * <!-- end-user-doc --> 4128 * <!-- end-user-doc -->
2443 * @return the meta object for class '<em>Irreflexive Closure</em>'. 4129 * @return the meta object for enum '<em>Objective Kind</em>'.
2444 * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure 4130 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
2445 * @generated 4131 * @generated
2446 */ 4132 */
2447 EClass getIrreflexiveClosure(); 4133 EEnum getObjectiveKind();
2448 4134
2449 /** 4135 /**
2450 * Returns the factory that creates the instances of the model. 4136 * Returns the factory that creates the instances of the model.
@@ -2498,462 +4184,516 @@ public interface SolverLanguagePackage extends EPackage
2498 EClass STATEMENT = eINSTANCE.getStatement(); 4184 EClass STATEMENT = eINSTANCE.getStatement();
2499 4185
2500 /** 4186 /**
2501 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl <em>Boolean Value</em>}' class. 4187 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
2502 * <!-- begin-user-doc --> 4188 * <!-- begin-user-doc -->
2503 * <!-- end-user-doc --> 4189 * <!-- end-user-doc -->
2504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl
2505 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue()
2506 * @generated 4190 * @generated
2507 */ 4191 */
2508 EClass BOOLEAN_VALUE = eINSTANCE.getBooleanValue(); 4192 EAttribute STATEMENT__ABSTRACT = eINSTANCE.getStatement_Abstract();
2509 4193
2510 /** 4194 /**
2511 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl <em>Truth Value</em>}' class. 4195 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2512 * <!-- begin-user-doc --> 4196 * <!-- begin-user-doc -->
2513 * <!-- end-user-doc --> 4197 * <!-- end-user-doc -->
2514 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl
2515 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue()
2516 * @generated 4198 * @generated
2517 */ 4199 */
2518 EClass TRUTH_VALUE = eINSTANCE.getTruthValue(); 4200 EAttribute STATEMENT__NAME = eINSTANCE.getStatement_Name();
2519 4201
2520 /** 4202 /**
2521 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class. 4203 * The meta object literal for the '<em><b>Superclasses</b></em>' reference list feature.
2522 * <!-- begin-user-doc --> 4204 * <!-- begin-user-doc -->
2523 * <!-- end-user-doc --> 4205 * <!-- end-user-doc -->
2524 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
2525 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
2526 * @generated 4206 * @generated
2527 */ 4207 */
2528 EClass INTERPRETATION = eINSTANCE.getInterpretation(); 4208 EReference STATEMENT__SUPERCLASSES = eINSTANCE.getStatement_Superclasses();
2529 4209
2530 /** 4210 /**
2531 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl <em>Basic Interpretation</em>}' class. 4211 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
2532 * <!-- begin-user-doc --> 4212 * <!-- begin-user-doc -->
2533 * <!-- end-user-doc --> 4213 * <!-- end-user-doc -->
2534 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl
2535 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation()
2536 * @generated 4214 * @generated
2537 */ 4215 */
2538 EClass BASIC_INTERPRETATION = eINSTANCE.getBasicInterpretation(); 4216 EReference STATEMENT__MEMBERS = eINSTANCE.getStatement_Members();
2539 4217
2540 /** 4218 /**
2541 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4219 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
2542 * <!-- begin-user-doc --> 4220 * <!-- begin-user-doc -->
2543 * <!-- end-user-doc --> 4221 * <!-- end-user-doc -->
4222 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
4223 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
2544 * @generated 4224 * @generated
2545 */ 4225 */
2546 EReference BASIC_INTERPRETATION__SYMBOL = eINSTANCE.getBasicInterpretation_Symbol(); 4226 EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition();
2547 4227
2548 /** 4228 /**
2549 * The meta object literal for the '<em><b>Objects</b></em>' containment reference list feature. 4229 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2550 * <!-- begin-user-doc --> 4230 * <!-- begin-user-doc -->
2551 * <!-- end-user-doc --> 4231 * <!-- end-user-doc -->
2552 * @generated 4232 * @generated
2553 */ 4233 */
2554 EReference BASIC_INTERPRETATION__OBJECTS = eINSTANCE.getBasicInterpretation_Objects(); 4234 EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head();
2555 4235
2556 /** 4236 /**
2557 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature. 4237 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2558 * <!-- begin-user-doc --> 4238 * <!-- begin-user-doc -->
2559 * <!-- end-user-doc --> 4239 * <!-- end-user-doc -->
2560 * @generated 4240 * @generated
2561 */ 4241 */
2562 EReference BASIC_INTERPRETATION__VALUE = eINSTANCE.getBasicInterpretation_Value(); 4242 EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body();
2563 4243
2564 /** 4244 /**
2565 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl <em>Symbol</em>}' class. 4245 * The meta object literal for the '<em><b>Functional</b></em>' attribute feature.
2566 * <!-- begin-user-doc --> 4246 * <!-- begin-user-doc -->
2567 * <!-- end-user-doc --> 4247 * <!-- end-user-doc -->
2568 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl
2569 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol()
2570 * @generated 4248 * @generated
2571 */ 4249 */
2572 EClass SYMBOL = eINSTANCE.getSymbol(); 4250 EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional();
2573 4251
2574 /** 4252 /**
2575 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl <em>Model Symbol</em>}' class. 4253 * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
2576 * <!-- begin-user-doc --> 4254 * <!-- begin-user-doc -->
2577 * <!-- end-user-doc --> 4255 * <!-- end-user-doc -->
2578 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl
2579 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol()
2580 * @generated 4256 * @generated
2581 */ 4257 */
2582 EClass MODEL_SYMBOL = eINSTANCE.getModelSymbol(); 4258 EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error();
2583 4259
2584 /** 4260 /**
2585 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4261 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
2586 * <!-- begin-user-doc --> 4262 * <!-- begin-user-doc -->
2587 * <!-- end-user-doc --> 4263 * <!-- end-user-doc -->
4264 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
4265 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
2588 * @generated 4266 * @generated
2589 */ 4267 */
2590 EAttribute MODEL_SYMBOL__NAME = eINSTANCE.getModelSymbol_Name(); 4268 EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition();
2591 4269
2592 /** 4270 /**
2593 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl <em>Partiality Symbol</em>}' class. 4271 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
2594 * <!-- begin-user-doc --> 4272 * <!-- begin-user-doc -->
2595 * <!-- end-user-doc --> 4273 * <!-- end-user-doc -->
2596 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl
2597 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol()
2598 * @generated 4274 * @generated
2599 */ 4275 */
2600 EClass PARTIALITY_SYMBOL = eINSTANCE.getPartialitySymbol(); 4276 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList();
2601 4277
2602 /** 4278 /**
2603 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl <em>Exist Symbol</em>}' class. 4279 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2604 * <!-- begin-user-doc --> 4280 * <!-- begin-user-doc -->
2605 * <!-- end-user-doc --> 4281 * <!-- end-user-doc -->
2606 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl
2607 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol()
2608 * @generated 4282 * @generated
2609 */ 4283 */
2610 EClass EXIST_SYMBOL = eINSTANCE.getExistSymbol(); 4284 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body();
2611 4285
2612 /** 4286 /**
2613 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl <em>Equals Symbol</em>}' class. 4287 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
2614 * <!-- begin-user-doc --> 4288 * <!-- begin-user-doc -->
2615 * <!-- end-user-doc --> 4289 * <!-- end-user-doc -->
2616 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl 4290 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
2617 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol() 4291 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
2618 * @generated 4292 * @generated
2619 */ 4293 */
2620 EClass EQUALS_SYMBOL = eINSTANCE.getEqualsSymbol(); 4294 EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition();
2621 4295
2622 /** 4296 /**
2623 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl <em>Data Symbol</em>}' class. 4297 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2624 * <!-- begin-user-doc --> 4298 * <!-- begin-user-doc -->
2625 * <!-- end-user-doc --> 4299 * <!-- end-user-doc -->
2626 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl
2627 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol()
2628 * @generated 4300 * @generated
2629 */ 4301 */
2630 EClass DATA_SYMBOL = eINSTANCE.getDataSymbol(); 4302 EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head();
2631 4303
2632 /** 4304 /**
2633 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl <em>Boolean Symbol</em>}' class. 4305 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
2634 * <!-- begin-user-doc --> 4306 * <!-- begin-user-doc -->
2635 * <!-- end-user-doc --> 4307 * <!-- end-user-doc -->
2636 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl
2637 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol()
2638 * @generated 4308 * @generated
2639 */ 4309 */
2640 EClass BOOLEAN_SYMBOL = eINSTANCE.getBooleanSymbol(); 4310 EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range();
2641 4311
2642 /** 4312 /**
2643 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl <em>Integer Symbol</em>}' class. 4313 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
2644 * <!-- begin-user-doc --> 4314 * <!-- begin-user-doc -->
2645 * <!-- end-user-doc --> 4315 * <!-- end-user-doc -->
2646 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl 4316 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
2647 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol() 4317 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
2648 * @generated 4318 * @generated
2649 */ 4319 */
2650 EClass INTEGER_SYMBOL = eINSTANCE.getIntegerSymbol(); 4320 EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition();
2651 4321
2652 /** 4322 /**
2653 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl <em>Real Symbol</em>}' class. 4323 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2654 * <!-- begin-user-doc --> 4324 * <!-- begin-user-doc -->
2655 * <!-- end-user-doc --> 4325 * <!-- end-user-doc -->
2656 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl
2657 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol()
2658 * @generated 4326 * @generated
2659 */ 4327 */
2660 EClass REAL_SYMBOL = eINSTANCE.getRealSymbol(); 4328 EReference EXTERN_PREDICATE_DEFINITION__HEAD = eINSTANCE.getExternPredicateDefinition_Head();
2661 4329
2662 /** 4330 /**
2663 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl <em>String Symbol</em>}' class. 4331 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
2664 * <!-- begin-user-doc --> 4332 * <!-- begin-user-doc -->
2665 * <!-- end-user-doc --> 4333 * <!-- end-user-doc -->
2666 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl 4334 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
2667 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol() 4335 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
2668 * @generated 4336 * @generated
2669 */ 4337 */
2670 EClass STRING_SYMBOL = eINSTANCE.getStringSymbol(); 4338 EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition();
2671 4339
2672 /** 4340 /**
2673 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl <em>Complex Object</em>}' class. 4341 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2674 * <!-- begin-user-doc --> 4342 * <!-- begin-user-doc -->
2675 * <!-- end-user-doc --> 4343 * <!-- end-user-doc -->
2676 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl
2677 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject()
2678 * @generated 4344 * @generated
2679 */ 4345 */
2680 EClass COMPLEX_OBJECT = eINSTANCE.getComplexObject(); 4346 EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head();
2681 4347
2682 /** 4348 /**
2683 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl <em>Object</em>}' class. 4349 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2684 * <!-- begin-user-doc --> 4350 * <!-- begin-user-doc -->
2685 * <!-- end-user-doc --> 4351 * <!-- end-user-doc -->
2686 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl
2687 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject()
2688 * @generated 4352 * @generated
2689 */ 4353 */
2690 EClass OBJECT = eINSTANCE.getObject(); 4354 EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body();
2691 4355
2692 /** 4356 /**
2693 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl <em>Named Object</em>}' class. 4357 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
2694 * <!-- begin-user-doc --> 4358 * <!-- begin-user-doc -->
2695 * <!-- end-user-doc --> 4359 * <!-- end-user-doc -->
2696 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl
2697 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject()
2698 * @generated 4360 * @generated
2699 */ 4361 */
2700 EClass NAMED_OBJECT = eINSTANCE.getNamedObject(); 4362 EAttribute METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type();
2701 4363
2702 /** 4364 /**
2703 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4365 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
2704 * <!-- begin-user-doc --> 4366 * <!-- begin-user-doc -->
2705 * <!-- end-user-doc --> 4367 * <!-- end-user-doc -->
4368 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
4369 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
2706 * @generated 4370 * @generated
2707 */ 4371 */
2708 EAttribute NAMED_OBJECT__NAME = eINSTANCE.getNamedObject_Name(); 4372 EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition();
2709 4373
2710 /** 4374 /**
2711 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl <em>Unnamed Object</em>}' class. 4375 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
2712 * <!-- begin-user-doc --> 4376 * <!-- begin-user-doc -->
2713 * <!-- end-user-doc --> 4377 * <!-- end-user-doc -->
2714 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl
2715 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject()
2716 * @generated 4378 * @generated
2717 */ 4379 */
2718 EClass UNNAMED_OBJECT = eINSTANCE.getUnnamedObject(); 4380 EAttribute EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type();
2719 4381
2720 /** 4382 /**
2721 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4383 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2722 * <!-- begin-user-doc --> 4384 * <!-- begin-user-doc -->
2723 * <!-- end-user-doc --> 4385 * <!-- end-user-doc -->
2724 * @generated 4386 * @generated
2725 */ 4387 */
2726 EAttribute UNNAMED_OBJECT__NAME = eINSTANCE.getUnnamedObject_Name(); 4388 EReference EXTERN_METRIC_DEFINITION__HEAD = eINSTANCE.getExternMetricDefinition_Head();
2727 4389
2728 /** 4390 /**
2729 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl <em>Data Object</em>}' class. 4391 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
2730 * <!-- begin-user-doc --> 4392 * <!-- begin-user-doc -->
2731 * <!-- end-user-doc --> 4393 * <!-- end-user-doc -->
2732 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl 4394 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
2733 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject() 4395 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
2734 * @generated 4396 * @generated
2735 */ 4397 */
2736 EClass DATA_OBJECT = eINSTANCE.getDataObject(); 4398 EClass EXPRESSION = eINSTANCE.getExpression();
2737 4399
2738 /** 4400 /**
2739 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl <em>Boolean Object</em>}' class. 4401 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
2740 * <!-- begin-user-doc --> 4402 * <!-- begin-user-doc -->
2741 * <!-- end-user-doc --> 4403 * <!-- end-user-doc -->
2742 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl 4404 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
2743 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject() 4405 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
2744 * @generated 4406 * @generated
2745 */ 4407 */
2746 EClass BOOLEAN_OBJECT = eINSTANCE.getBooleanObject(); 4408 EClass IF_ELSE = eINSTANCE.getIfElse();
2747 4409
2748 /** 4410 /**
2749 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature. 4411 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
2750 * <!-- begin-user-doc --> 4412 * <!-- begin-user-doc -->
2751 * <!-- end-user-doc --> 4413 * <!-- end-user-doc -->
2752 * @generated 4414 * @generated
2753 */ 4415 */
2754 EReference BOOLEAN_OBJECT__VALUE = eINSTANCE.getBooleanObject_Value(); 4416 EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition();
2755 4417
2756 /** 4418 /**
2757 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl <em>Int Object</em>}' class. 4419 * The meta object literal for the '<em><b>Then</b></em>' containment reference feature.
2758 * <!-- begin-user-doc --> 4420 * <!-- begin-user-doc -->
2759 * <!-- end-user-doc --> 4421 * <!-- end-user-doc -->
2760 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl
2761 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject()
2762 * @generated 4422 * @generated
2763 */ 4423 */
2764 EClass INT_OBJECT = eINSTANCE.getIntObject(); 4424 EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then();
2765 4425
2766 /** 4426 /**
2767 * The meta object literal for the '<em><b>Value</b></em>' attribute feature. 4427 * The meta object literal for the '<em><b>Else</b></em>' containment reference feature.
2768 * <!-- begin-user-doc --> 4428 * <!-- begin-user-doc -->
2769 * <!-- end-user-doc --> 4429 * <!-- end-user-doc -->
2770 * @generated 4430 * @generated
2771 */ 4431 */
2772 EAttribute INT_OBJECT__VALUE = eINSTANCE.getIntObject_Value(); 4432 EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else();
2773 4433
2774 /** 4434 /**
2775 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl <em>Real Object</em>}' class. 4435 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
2776 * <!-- begin-user-doc --> 4436 * <!-- begin-user-doc -->
2777 * <!-- end-user-doc --> 4437 * <!-- end-user-doc -->
2778 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl 4438 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
2779 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject() 4439 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
2780 * @generated 4440 * @generated
2781 */ 4441 */
2782 EClass REAL_OBJECT = eINSTANCE.getRealObject(); 4442 EClass CASE = eINSTANCE.getCase();
2783 4443
2784 /** 4444 /**
2785 * The meta object literal for the '<em><b>Value</b></em>' attribute feature. 4445 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
2786 * <!-- begin-user-doc --> 4446 * <!-- begin-user-doc -->
2787 * <!-- end-user-doc --> 4447 * <!-- end-user-doc -->
2788 * @generated 4448 * @generated
2789 */ 4449 */
2790 EAttribute REAL_OBJECT__VALUE = eINSTANCE.getRealObject_Value(); 4450 EReference CASE__CONDITION = eINSTANCE.getCase_Condition();
2791 4451
2792 /** 4452 /**
2793 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl <em>String Object</em>}' class. 4453 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2794 * <!-- begin-user-doc --> 4454 * <!-- begin-user-doc -->
2795 * <!-- end-user-doc --> 4455 * <!-- end-user-doc -->
2796 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl
2797 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject()
2798 * @generated 4456 * @generated
2799 */ 4457 */
2800 EClass STRING_OBJECT = eINSTANCE.getStringObject(); 4458 EReference CASE__BODY = eINSTANCE.getCase_Body();
2801 4459
2802 /** 4460 /**
2803 * The meta object literal for the '<em><b>Value</b></em>' attribute feature. 4461 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
4462 * <!-- begin-user-doc -->
4463 * <!-- end-user-doc -->
4464 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
4465 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
4466 * @generated
4467 */
4468 EClass COUNT = eINSTANCE.getCount();
4469
4470 /**
4471 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4472 * <!-- begin-user-doc -->
4473 * <!-- end-user-doc -->
4474 * @generated
4475 */
4476 EReference COUNT__BODY = eINSTANCE.getCount_Body();
4477
4478 /**
4479 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
4480 * <!-- begin-user-doc -->
4481 * <!-- end-user-doc -->
4482 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
4483 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
4484 * @generated
4485 */
4486 EClass AGGREGATION = eINSTANCE.getAggregation();
4487
4488 /**
4489 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4490 * <!-- begin-user-doc -->
4491 * <!-- end-user-doc -->
4492 * @generated
4493 */
4494 EAttribute AGGREGATION__OP = eINSTANCE.getAggregation_Op();
4495
4496 /**
4497 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4498 * <!-- begin-user-doc -->
4499 * <!-- end-user-doc -->
4500 * @generated
4501 */
4502 EReference AGGREGATION__BODY = eINSTANCE.getAggregation_Body();
4503
4504 /**
4505 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
4506 * <!-- begin-user-doc -->
4507 * <!-- end-user-doc -->
4508 * @generated
4509 */
4510 EReference AGGREGATION__CONDITION = eINSTANCE.getAggregation_Condition();
4511
4512 /**
4513 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
2804 * <!-- begin-user-doc --> 4514 * <!-- begin-user-doc -->
2805 * <!-- end-user-doc --> 4515 * <!-- end-user-doc -->
4516 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
4517 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
2806 * @generated 4518 * @generated
2807 */ 4519 */
2808 EAttribute STRING_OBJECT__VALUE = eINSTANCE.getStringObject_Value(); 4520 EClass CALL = eINSTANCE.getCall();
2809 4521
2810 /** 4522 /**
2811 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class. 4523 * The meta object literal for the '<em><b>Functor</b></em>' containment reference feature.
2812 * <!-- begin-user-doc --> 4524 * <!-- begin-user-doc -->
2813 * <!-- end-user-doc --> 4525 * <!-- end-user-doc -->
2814 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
2815 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
2816 * @generated 4526 * @generated
2817 */ 4527 */
2818 EClass PREDICATE = eINSTANCE.getPredicate(); 4528 EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor();
2819 4529
2820 /** 4530 /**
2821 * The meta object literal for the '<em><b>Is Error</b></em>' attribute feature. 4531 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
2822 * <!-- begin-user-doc --> 4532 * <!-- begin-user-doc -->
2823 * <!-- end-user-doc --> 4533 * <!-- end-user-doc -->
2824 * @generated 4534 * @generated
2825 */ 4535 */
2826 EAttribute PREDICATE__IS_ERROR = eINSTANCE.getPredicate_IsError(); 4536 EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList();
2827 4537
2828 /** 4538 /**
2829 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4539 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
2830 * <!-- begin-user-doc --> 4540 * <!-- begin-user-doc -->
2831 * <!-- end-user-doc --> 4541 * <!-- end-user-doc -->
2832 * @generated 4542 * @generated
2833 */ 4543 */
2834 EReference PREDICATE__SYMBOL = eINSTANCE.getPredicate_Symbol(); 4544 EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure();
2835 4545
2836 /** 4546 /**
2837 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature. 4547 * The meta object literal for the '<em><b>Reflexive Transitive Closure</b></em>' attribute feature.
2838 * <!-- begin-user-doc --> 4548 * <!-- begin-user-doc -->
2839 * <!-- end-user-doc --> 4549 * <!-- end-user-doc -->
2840 * @generated 4550 * @generated
2841 */ 4551 */
2842 EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters(); 4552 EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure();
2843 4553
2844 /** 4554 /**
2845 * The meta object literal for the '<em><b>Bodies</b></em>' containment reference list feature. 4555 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
2846 * <!-- begin-user-doc --> 4556 * <!-- begin-user-doc -->
2847 * <!-- end-user-doc --> 4557 * <!-- end-user-doc -->
4558 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
4559 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
2848 * @generated 4560 * @generated
2849 */ 4561 */
2850 EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies(); 4562 EClass ARGUMENT_LIST = eINSTANCE.getArgumentList();
2851 4563
2852 /** 4564 /**
2853 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class. 4565 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
2854 * <!-- begin-user-doc --> 4566 * <!-- begin-user-doc -->
2855 * <!-- end-user-doc --> 4567 * <!-- end-user-doc -->
2856 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl
2857 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter()
2858 * @generated 4568 * @generated
2859 */ 4569 */
2860 EClass PARAMETER = eINSTANCE.getParameter(); 4570 EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments();
2861 4571
2862 /** 4572 /**
2863 * The meta object literal for the '<em><b>Variable</b></em>' containment reference feature. 4573 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
2864 * <!-- begin-user-doc --> 4574 * <!-- begin-user-doc -->
2865 * <!-- end-user-doc --> 4575 * <!-- end-user-doc -->
4576 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
4577 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
2866 * @generated 4578 * @generated
2867 */ 4579 */
2868 EReference PARAMETER__VARIABLE = eINSTANCE.getParameter_Variable(); 4580 EClass ARGUMENT = eINSTANCE.getArgument();
2869 4581
2870 /** 4582 /**
2871 * The meta object literal for the '<em><b>Type</b></em>' containment reference feature. 4583 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
2872 * <!-- begin-user-doc --> 4584 * <!-- begin-user-doc -->
2873 * <!-- end-user-doc --> 4585 * <!-- end-user-doc -->
4586 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
4587 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
2874 * @generated 4588 * @generated
2875 */ 4589 */
2876 EReference PARAMETER__TYPE = eINSTANCE.getParameter_Type(); 4590 EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument();
2877 4591
2878 /** 4592 /**
2879 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl <em>Pattern Body</em>}' class. 4593 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2880 * <!-- begin-user-doc --> 4594 * <!-- begin-user-doc -->
2881 * <!-- end-user-doc --> 4595 * <!-- end-user-doc -->
2882 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl
2883 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody()
2884 * @generated 4596 * @generated
2885 */ 4597 */
2886 EClass PATTERN_BODY = eINSTANCE.getPatternBody(); 4598 EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body();
2887 4599
2888 /** 4600 /**
2889 * The meta object literal for the '<em><b>Constraints</b></em>' containment reference list feature. 4601 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
2890 * <!-- begin-user-doc --> 4602 * <!-- begin-user-doc -->
2891 * <!-- end-user-doc --> 4603 * <!-- end-user-doc -->
4604 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
4605 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
2892 * @generated 4606 * @generated
2893 */ 4607 */
2894 EReference PATTERN_BODY__CONSTRAINTS = eINSTANCE.getPatternBody_Constraints(); 4608 EClass STAR_ARGUMENT = eINSTANCE.getStarArgument();
2895 4609
2896 /** 4610 /**
2897 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl <em>Polarity</em>}' class. 4611 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
2898 * <!-- begin-user-doc --> 4612 * <!-- begin-user-doc -->
2899 * <!-- end-user-doc --> 4613 * <!-- end-user-doc -->
2900 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl 4614 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
2901 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity() 4615 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
2902 * @generated 4616 * @generated
2903 */ 4617 */
2904 EClass POLARITY = eINSTANCE.getPolarity(); 4618 EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument();
2905 4619
2906 /** 4620 /**
2907 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl <em>Constraint</em>}' class. 4621 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
2908 * <!-- begin-user-doc --> 4622 * <!-- begin-user-doc -->
2909 * <!-- end-user-doc --> 4623 * <!-- end-user-doc -->
2910 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl
2911 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint()
2912 * @generated 4624 * @generated
2913 */ 4625 */
2914 EClass CONSTRAINT = eINSTANCE.getConstraint(); 4626 EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type();
2915 4627
2916 /** 4628 /**
2917 * The meta object literal for the '<em><b>Polarity</b></em>' containment reference feature. 4629 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
2918 * <!-- begin-user-doc --> 4630 * <!-- begin-user-doc -->
2919 * <!-- end-user-doc --> 4631 * <!-- end-user-doc -->
2920 * @generated 4632 * @generated
2921 */ 4633 */
2922 EReference CONSTRAINT__POLARITY = eINSTANCE.getConstraint_Polarity(); 4634 EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable();
2923 4635
2924 /** 4636 /**
2925 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4637 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
2926 * <!-- begin-user-doc --> 4638 * <!-- begin-user-doc -->
2927 * <!-- end-user-doc --> 4639 * <!-- end-user-doc -->
4640 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
4641 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
2928 * @generated 4642 * @generated
2929 */ 4643 */
2930 EReference CONSTRAINT__SYMBOL = eINSTANCE.getConstraint_Symbol(); 4644 EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument();
2931 4645
2932 /** 4646 /**
2933 * The meta object literal for the '<em><b>Params</b></em>' containment reference list feature. 4647 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
2934 * <!-- begin-user-doc --> 4648 * <!-- begin-user-doc -->
2935 * <!-- end-user-doc --> 4649 * <!-- end-user-doc -->
2936 * @generated 4650 * @generated
2937 */ 4651 */
2938 EReference CONSTRAINT__PARAMS = eINSTANCE.getConstraint_Params(); 4652 EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type();
2939 4653
2940 /** 4654 /**
2941 * The meta object literal for the '<em><b>Closure Type</b></em>' containment reference feature. 4655 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
2942 * <!-- begin-user-doc --> 4656 * <!-- begin-user-doc -->
2943 * <!-- end-user-doc --> 4657 * <!-- end-user-doc -->
4658 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
4659 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
2944 * @generated 4660 * @generated
2945 */ 4661 */
2946 EReference CONSTRAINT__CLOSURE_TYPE = eINSTANCE.getConstraint_ClosureType(); 4662 EClass REFERENCE = eINSTANCE.getReference();
2947 4663
2948 /** 4664 /**
2949 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl <em>Closure Type</em>}' class. 4665 * The meta object literal for the '<em><b>Referred</b></em>' reference feature.
2950 * <!-- begin-user-doc --> 4666 * <!-- begin-user-doc -->
2951 * <!-- end-user-doc --> 4667 * <!-- end-user-doc -->
2952 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl
2953 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType()
2954 * @generated 4668 * @generated
2955 */ 4669 */
2956 EClass CLOSURE_TYPE = eINSTANCE.getClosureType(); 4670 EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred();
4671
4672 /**
4673 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
4674 * <!-- begin-user-doc -->
4675 * <!-- end-user-doc -->
4676 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
4677 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
4678 * @generated
4679 */
4680 EClass INTERVAL = eINSTANCE.getInterval();
4681
4682 /**
4683 * The meta object literal for the '<em><b>Lower Bound</b></em>' containment reference feature.
4684 * <!-- begin-user-doc -->
4685 * <!-- end-user-doc -->
4686 * @generated
4687 */
4688 EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound();
4689
4690 /**
4691 * The meta object literal for the '<em><b>Upper Bound</b></em>' containment reference feature.
4692 * <!-- begin-user-doc -->
4693 * <!-- end-user-doc -->
4694 * @generated
4695 */
4696 EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound();
2957 4697
2958 /** 4698 /**
2959 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class. 4699 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
@@ -2966,14 +4706,112 @@ public interface SolverLanguagePackage extends EPackage
2966 EClass LITERAL = eINSTANCE.getLiteral(); 4706 EClass LITERAL = eINSTANCE.getLiteral();
2967 4707
2968 /** 4708 /**
2969 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class. 4709 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
4710 * <!-- begin-user-doc -->
4711 * <!-- end-user-doc -->
4712 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
4713 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
4714 * @generated
4715 */
4716 EClass LOGIC_LITERAL = eINSTANCE.getLogicLiteral();
4717
4718 /**
4719 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
2970 * <!-- begin-user-doc --> 4720 * <!-- begin-user-doc -->
2971 * <!-- end-user-doc --> 4721 * <!-- end-user-doc -->
2972 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl
2973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable()
2974 * @generated 4722 * @generated
2975 */ 4723 */
2976 EClass VARIABLE = eINSTANCE.getVariable(); 4724 EAttribute LOGIC_LITERAL__VALUE = eINSTANCE.getLogicLiteral_Value();
4725
4726 /**
4727 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
4728 * <!-- begin-user-doc -->
4729 * <!-- end-user-doc -->
4730 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
4731 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
4732 * @generated
4733 */
4734 EClass NUMERIC_LITERAL = eINSTANCE.getNumericLiteral();
4735
4736 /**
4737 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4738 * <!-- begin-user-doc -->
4739 * <!-- end-user-doc -->
4740 * @generated
4741 */
4742 EAttribute NUMERIC_LITERAL__VALUE = eINSTANCE.getNumericLiteral_Value();
4743
4744 /**
4745 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
4746 * <!-- begin-user-doc -->
4747 * <!-- end-user-doc -->
4748 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
4749 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
4750 * @generated
4751 */
4752 EClass INFINITY_LITERAL = eINSTANCE.getInfinityLiteral();
4753
4754 /**
4755 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
4756 * <!-- begin-user-doc -->
4757 * <!-- end-user-doc -->
4758 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
4759 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
4760 * @generated
4761 */
4762 EClass EMPTY_INTERVAL_LITERAL = eINSTANCE.getEmptyIntervalLiteral();
4763
4764 /**
4765 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
4766 * <!-- begin-user-doc -->
4767 * <!-- end-user-doc -->
4768 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
4769 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
4770 * @generated
4771 */
4772 EClass STRING_LITERAL = eINSTANCE.getStringLiteral();
4773
4774 /**
4775 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4776 * <!-- begin-user-doc -->
4777 * <!-- end-user-doc -->
4778 * @generated
4779 */
4780 EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
4781
4782 /**
4783 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
4784 * <!-- begin-user-doc -->
4785 * <!-- end-user-doc -->
4786 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
4787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
4788 * @generated
4789 */
4790 EClass MEMBER_DEFINITION = eINSTANCE.getMemberDefinition();
4791
4792 /**
4793 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
4794 * <!-- begin-user-doc -->
4795 * <!-- end-user-doc -->
4796 * @generated
4797 */
4798 EAttribute MEMBER_DEFINITION__CONTAINMENT = eINSTANCE.getMemberDefinition_Containment();
4799
4800 /**
4801 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4802 * <!-- begin-user-doc -->
4803 * <!-- end-user-doc -->
4804 * @generated
4805 */
4806 EReference MEMBER_DEFINITION__TYPE = eINSTANCE.getMemberDefinition_Type();
4807
4808 /**
4809 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
4810 * <!-- begin-user-doc -->
4811 * <!-- end-user-doc -->
4812 * @generated
4813 */
4814 EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity();
2977 4815
2978 /** 4816 /**
2979 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4817 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
@@ -2981,365 +4819,437 @@ public interface SolverLanguagePackage extends EPackage
2981 * <!-- end-user-doc --> 4819 * <!-- end-user-doc -->
2982 * @generated 4820 * @generated
2983 */ 4821 */
2984 EAttribute VARIABLE__NAME = eINSTANCE.getVariable_Name(); 4822 EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name();
2985 4823
2986 /** 4824 /**
2987 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl <em>All Instances</em>}' class. 4825 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
2988 * <!-- begin-user-doc --> 4826 * <!-- begin-user-doc -->
2989 * <!-- end-user-doc --> 4827 * <!-- end-user-doc -->
2990 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl
2991 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances()
2992 * @generated 4828 * @generated
2993 */ 4829 */
2994 EClass ALL_INSTANCES = eINSTANCE.getAllInstances(); 4830 EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite();
2995 4831
2996 /** 4832 /**
2997 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4833 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
2998 * <!-- begin-user-doc --> 4834 * <!-- begin-user-doc -->
2999 * <!-- end-user-doc --> 4835 * <!-- end-user-doc -->
4836 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
4837 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
3000 * @generated 4838 * @generated
3001 */ 4839 */
3002 EReference ALL_INSTANCES__SYMBOL = eINSTANCE.getAllInstances_Symbol(); 4840 EClass MULTIPLICITY = eINSTANCE.getMultiplicity();
3003 4841
3004 /** 4842 /**
3005 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl <em>All Objects</em>}' class. 4843 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
3006 * <!-- begin-user-doc --> 4844 * <!-- begin-user-doc -->
3007 * <!-- end-user-doc --> 4845 * <!-- end-user-doc -->
3008 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl 4846 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
3009 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() 4847 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
3010 * @generated 4848 * @generated
3011 */ 4849 */
3012 EClass ALL_OBJECTS = eINSTANCE.getAllObjects(); 4850 EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity();
3013 4851
3014 /** 4852 /**
3015 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl <em>Default Interpretation</em>}' class. 4853 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
3016 * <!-- begin-user-doc --> 4854 * <!-- begin-user-doc -->
3017 * <!-- end-user-doc --> 4855 * <!-- end-user-doc -->
3018 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl 4856 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
3019 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation() 4857 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
3020 * @generated 4858 * @generated
3021 */ 4859 */
3022 EClass DEFAULT_INTERPRETATION = eINSTANCE.getDefaultInterpretation(); 4860 EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity();
3023 4861
3024 /** 4862 /**
3025 * The meta object literal for the '<em><b>Interpretation</b></em>' containment reference feature. 4863 * The meta object literal for the '<em><b>Multiplicity</b></em>' attribute feature.
3026 * <!-- begin-user-doc --> 4864 * <!-- begin-user-doc -->
3027 * <!-- end-user-doc --> 4865 * <!-- end-user-doc -->
3028 * @generated 4866 * @generated
3029 */ 4867 */
3030 EReference DEFAULT_INTERPRETATION__INTERPRETATION = eINSTANCE.getDefaultInterpretation_Interpretation(); 4868 EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity();
3031 4869
3032 /** 4870 /**
3033 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl <em>CD Interpretation</em>}' class. 4871 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
3034 * <!-- begin-user-doc --> 4872 * <!-- begin-user-doc -->
3035 * <!-- end-user-doc --> 4873 * <!-- end-user-doc -->
3036 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl 4874 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
3037 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation() 4875 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
3038 * @generated 4876 * @generated
3039 */ 4877 */
3040 EClass CD_INTERPRETATION = eINSTANCE.getCDInterpretation(); 4878 EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity();
3041 4879
3042 /** 4880 /**
3043 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl <em>Class Interpretation</em>}' class. 4881 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3044 * <!-- begin-user-doc --> 4882 * <!-- begin-user-doc -->
3045 * <!-- end-user-doc --> 4883 * <!-- end-user-doc -->
3046 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl
3047 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation()
3048 * @generated 4884 * @generated
3049 */ 4885 */
3050 EClass CLASS_INTERPRETATION = eINSTANCE.getClassInterpretation(); 4886 EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound();
3051 4887
3052 /** 4888 /**
3053 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature. 4889 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3054 * <!-- begin-user-doc --> 4890 * <!-- begin-user-doc -->
3055 * <!-- end-user-doc --> 4891 * <!-- end-user-doc -->
3056 * @generated 4892 * @generated
3057 */ 4893 */
3058 EAttribute CLASS_INTERPRETATION__ABSTRACT = eINSTANCE.getClassInterpretation_Abstract(); 4894 EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound();
3059 4895
3060 /** 4896 /**
3061 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4897 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
3062 * <!-- begin-user-doc --> 4898 * <!-- begin-user-doc -->
3063 * <!-- end-user-doc --> 4899 * <!-- end-user-doc -->
4900 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
4901 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
3064 * @generated 4902 * @generated
3065 */ 4903 */
3066 EReference CLASS_INTERPRETATION__SYMBOL = eINSTANCE.getClassInterpretation_Symbol(); 4904 EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition();
3067 4905
3068 /** 4906 /**
3069 * The meta object literal for the '<em><b>Supertypes</b></em>' containment reference list feature. 4907 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3070 * <!-- begin-user-doc --> 4908 * <!-- begin-user-doc -->
3071 * <!-- end-user-doc --> 4909 * <!-- end-user-doc -->
3072 * @generated 4910 * @generated
3073 */ 4911 */
3074 EReference CLASS_INTERPRETATION__SUPERTYPES = eINSTANCE.getClassInterpretation_Supertypes(); 4912 EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type();
3075 4913
3076 /** 4914 /**
3077 * The meta object literal for the '<em><b>Fielt</b></em>' containment reference list feature. 4915 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
3078 * <!-- begin-user-doc --> 4916 * <!-- begin-user-doc -->
3079 * <!-- end-user-doc --> 4917 * <!-- end-user-doc -->
4918 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
4919 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
3080 * @generated 4920 * @generated
3081 */ 4921 */
3082 EReference CLASS_INTERPRETATION__FIELT = eINSTANCE.getClassInterpretation_Fielt(); 4922 EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition();
3083 4923
3084 /** 4924 /**
3085 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl <em>Enum Interpretation</em>}' class. 4925 * The meta object literal for the '<em><b>Exact Scope</b></em>' attribute feature.
3086 * <!-- begin-user-doc --> 4926 * <!-- begin-user-doc -->
3087 * <!-- end-user-doc --> 4927 * <!-- end-user-doc -->
3088 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl
3089 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation()
3090 * @generated 4928 * @generated
3091 */ 4929 */
3092 EClass ENUM_INTERPRETATION = eINSTANCE.getEnumInterpretation(); 4930 EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope();
3093 4931
3094 /** 4932 /**
3095 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4933 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
3096 * <!-- begin-user-doc --> 4934 * <!-- begin-user-doc -->
3097 * <!-- end-user-doc --> 4935 * <!-- end-user-doc -->
4936 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
4937 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
3098 * @generated 4938 * @generated
3099 */ 4939 */
3100 EReference ENUM_INTERPRETATION__SYMBOL = eINSTANCE.getEnumInterpretation_Symbol(); 4940 EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition();
3101 4941
3102 /** 4942 /**
3103 * The meta object literal for the '<em><b>Objects</b></em>' containment reference list feature. 4943 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3104 * <!-- begin-user-doc --> 4944 * <!-- begin-user-doc -->
3105 * <!-- end-user-doc --> 4945 * <!-- end-user-doc -->
3106 * @generated 4946 * @generated
3107 */ 4947 */
3108 EReference ENUM_INTERPRETATION__OBJECTS = eINSTANCE.getEnumInterpretation_Objects(); 4948 EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound();
3109 4949
3110 /** 4950 /**
3111 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl <em>Field Relation Interpretation</em>}' class. 4951 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3112 * <!-- begin-user-doc --> 4952 * <!-- begin-user-doc -->
3113 * <!-- end-user-doc --> 4953 * <!-- end-user-doc -->
3114 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl
3115 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation()
3116 * @generated 4954 * @generated
3117 */ 4955 */
3118 EClass FIELD_RELATION_INTERPRETATION = eINSTANCE.getFieldRelationInterpretation(); 4956 EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound();
3119 4957
3120 /** 4958 /**
3121 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature. 4959 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
3122 * <!-- begin-user-doc --> 4960 * <!-- begin-user-doc -->
3123 * <!-- end-user-doc --> 4961 * <!-- end-user-doc -->
4962 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
4963 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
3124 * @generated 4964 * @generated
3125 */ 4965 */
3126 EAttribute FIELD_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getFieldRelationInterpretation_Containment(); 4966 EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition();
3127 4967
3128 /** 4968 /**
3129 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4969 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3130 * <!-- begin-user-doc --> 4970 * <!-- begin-user-doc -->
3131 * <!-- end-user-doc --> 4971 * <!-- end-user-doc -->
3132 * @generated 4972 * @generated
3133 */ 4973 */
3134 EReference FIELD_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getFieldRelationInterpretation_Symbol(); 4974 EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound();
3135 4975
3136 /** 4976 /**
3137 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature. 4977 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
3138 * <!-- begin-user-doc --> 4978 * <!-- begin-user-doc -->
3139 * <!-- end-user-doc --> 4979 * <!-- end-user-doc -->
4980 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
4981 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
3140 * @generated 4982 * @generated
3141 */ 4983 */
3142 EReference FIELD_RELATION_INTERPRETATION__MULTIPLICITY = eINSTANCE.getFieldRelationInterpretation_Multiplicity(); 4984 EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition();
3143 4985
3144 /** 4986 /**
3145 * The meta object literal for the '<em><b>Target</b></em>' containment reference feature. 4987 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
3146 * <!-- begin-user-doc --> 4988 * <!-- begin-user-doc -->
3147 * <!-- end-user-doc --> 4989 * <!-- end-user-doc -->
3148 * @generated 4990 * @generated
3149 */ 4991 */
3150 EReference FIELD_RELATION_INTERPRETATION__TARGET = eINSTANCE.getFieldRelationInterpretation_Target(); 4992 EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind();
3151 4993
3152 /** 4994 /**
3153 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl <em>Global Relation Interpretation</em>}' class. 4995 * The meta object literal for the '<em><b>Objective</b></em>' containment reference feature.
3154 * <!-- begin-user-doc --> 4996 * <!-- begin-user-doc -->
3155 * <!-- end-user-doc --> 4997 * <!-- end-user-doc -->
3156 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl
3157 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation()
3158 * @generated 4998 * @generated
3159 */ 4999 */
3160 EClass GLOBAL_RELATION_INTERPRETATION = eINSTANCE.getGlobalRelationInterpretation(); 5000 EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective();
3161 5001
3162 /** 5002 /**
3163 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature. 5003 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
5004 * <!-- begin-user-doc -->
5005 * <!-- end-user-doc -->
5006 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
5007 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
5008 * @generated
5009 */
5010 EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
5011
5012 /**
5013 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
5014 * <!-- begin-user-doc -->
5015 * <!-- end-user-doc -->
5016 * @generated
5017 */
5018 EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
5019
5020 /**
5021 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
5022 * <!-- begin-user-doc -->
5023 * <!-- end-user-doc -->
5024 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
5025 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
5026 * @generated
5027 */
5028 EClass ASSERTION = eINSTANCE.getAssertion();
5029
5030 /**
5031 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
5032 * <!-- begin-user-doc -->
5033 * <!-- end-user-doc -->
5034 * @generated
5035 */
5036 EReference ASSERTION__BODY = eINSTANCE.getAssertion_Body();
5037
5038 /**
5039 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
5040 * <!-- begin-user-doc -->
5041 * <!-- end-user-doc -->
5042 * @generated
5043 */
5044 EReference ASSERTION__RANGE = eINSTANCE.getAssertion_Range();
5045
5046 /**
5047 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
5048 * <!-- begin-user-doc -->
5049 * <!-- end-user-doc -->
5050 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
5051 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
5052 * @generated
5053 */
5054 EClass DISJUNCTION = eINSTANCE.getDisjunction();
5055
5056 /**
5057 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
5058 * <!-- begin-user-doc -->
5059 * <!-- end-user-doc -->
5060 * @generated
5061 */
5062 EReference DISJUNCTION__CHILDREN = eINSTANCE.getDisjunction_Children();
5063
5064 /**
5065 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
5066 * <!-- begin-user-doc -->
5067 * <!-- end-user-doc -->
5068 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
5069 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
5070 * @generated
5071 */
5072 EClass SWITCH = eINSTANCE.getSwitch();
5073
5074 /**
5075 * The meta object literal for the '<em><b>Cases</b></em>' containment reference list feature.
3164 * <!-- begin-user-doc --> 5076 * <!-- begin-user-doc -->
3165 * <!-- end-user-doc --> 5077 * <!-- end-user-doc -->
3166 * @generated 5078 * @generated
3167 */ 5079 */
3168 EAttribute GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getGlobalRelationInterpretation_Containment(); 5080 EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases();
3169 5081
3170 /** 5082 /**
3171 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 5083 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
3172 * <!-- begin-user-doc --> 5084 * <!-- begin-user-doc -->
3173 * <!-- end-user-doc --> 5085 * <!-- end-user-doc -->
5086 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
5087 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
3174 * @generated 5088 * @generated
3175 */ 5089 */
3176 EReference GLOBAL_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getGlobalRelationInterpretation_Symbol(); 5090 EClass CONJUNCTION = eINSTANCE.getConjunction();
3177 5091
3178 /** 5092 /**
3179 * The meta object literal for the '<em><b>Source Multiplicity</b></em>' containment reference feature. 5093 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
3180 * <!-- begin-user-doc --> 5094 * <!-- begin-user-doc -->
3181 * <!-- end-user-doc --> 5095 * <!-- end-user-doc -->
3182 * @generated 5096 * @generated
3183 */ 5097 */
3184 EReference GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_SourceMultiplicity(); 5098 EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children();
3185 5099
3186 /** 5100 /**
3187 * The meta object literal for the '<em><b>Source</b></em>' containment reference feature. 5101 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
3188 * <!-- begin-user-doc --> 5102 * <!-- begin-user-doc -->
3189 * <!-- end-user-doc --> 5103 * <!-- end-user-doc -->
5104 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
5105 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
3190 * @generated 5106 * @generated
3191 */ 5107 */
3192 EReference GLOBAL_RELATION_INTERPRETATION__SOURCE = eINSTANCE.getGlobalRelationInterpretation_Source(); 5108 EClass COMPARISON = eINSTANCE.getComparison();
3193 5109
3194 /** 5110 /**
3195 * The meta object literal for the '<em><b>Target Multiplicity</b></em>' containment reference feature. 5111 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
3196 * <!-- begin-user-doc --> 5112 * <!-- begin-user-doc -->
3197 * <!-- end-user-doc --> 5113 * <!-- end-user-doc -->
3198 * @generated 5114 * @generated
3199 */ 5115 */
3200 EReference GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_TargetMultiplicity(); 5116 EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left();
3201 5117
3202 /** 5118 /**
3203 * The meta object literal for the '<em><b>Target</b></em>' containment reference feature. 5119 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3204 * <!-- begin-user-doc --> 5120 * <!-- begin-user-doc -->
3205 * <!-- end-user-doc --> 5121 * <!-- end-user-doc -->
3206 * @generated 5122 * @generated
3207 */ 5123 */
3208 EReference GLOBAL_RELATION_INTERPRETATION__TARGET = eINSTANCE.getGlobalRelationInterpretation_Target(); 5124 EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op();
3209 5125
3210 /** 5126 /**
3211 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl <em>Multiplicity Definition</em>}' class. 5127 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
3212 * <!-- begin-user-doc --> 5128 * <!-- begin-user-doc -->
3213 * <!-- end-user-doc --> 5129 * <!-- end-user-doc -->
3214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl
3215 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition()
3216 * @generated 5130 * @generated
3217 */ 5131 */
3218 EClass MULTIPLICITY_DEFINITION = eINSTANCE.getMultiplicityDefinition(); 5132 EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right();
3219 5133
3220 /** 5134 /**
3221 * The meta object literal for the '<em><b>Lower</b></em>' attribute feature. 5135 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
3222 * <!-- begin-user-doc --> 5136 * <!-- begin-user-doc -->
3223 * <!-- end-user-doc --> 5137 * <!-- end-user-doc -->
5138 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
5139 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
3224 * @generated 5140 * @generated
3225 */ 5141 */
3226 EAttribute MULTIPLICITY_DEFINITION__LOWER = eINSTANCE.getMultiplicityDefinition_Lower(); 5142 EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression();
3227 5143
3228 /** 5144 /**
3229 * The meta object literal for the '<em><b>Upper</b></em>' attribute feature. 5145 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
3230 * <!-- begin-user-doc --> 5146 * <!-- begin-user-doc -->
3231 * <!-- end-user-doc --> 5147 * <!-- end-user-doc -->
3232 * @generated 5148 * @generated
3233 */ 5149 */
3234 EAttribute MULTIPLICITY_DEFINITION__UPPER = eINSTANCE.getMultiplicityDefinition_Upper(); 5150 EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left();
3235 5151
3236 /** 5152 /**
3237 * The meta object literal for the '<em><b>Unlimited Upper</b></em>' attribute feature. 5153 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3238 * <!-- begin-user-doc --> 5154 * <!-- begin-user-doc -->
3239 * <!-- end-user-doc --> 5155 * <!-- end-user-doc -->
3240 * @generated 5156 * @generated
3241 */ 5157 */
3242 EAttribute MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = eINSTANCE.getMultiplicityDefinition_UnlimitedUpper(); 5158 EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op();
3243 5159
3244 /** 5160 /**
3245 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl <em>Boolean True</em>}' class. 5161 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
3246 * <!-- begin-user-doc --> 5162 * <!-- begin-user-doc -->
3247 * <!-- end-user-doc --> 5163 * <!-- end-user-doc -->
3248 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl
3249 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue()
3250 * @generated 5164 * @generated
3251 */ 5165 */
3252 EClass BOOLEAN_TRUE = eINSTANCE.getBooleanTrue(); 5166 EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right();
3253 5167
3254 /** 5168 /**
3255 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl <em>Boolean False</em>}' class. 5169 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
3256 * <!-- begin-user-doc --> 5170 * <!-- begin-user-doc -->
3257 * <!-- end-user-doc --> 5171 * <!-- end-user-doc -->
3258 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl 5172 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
3259 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse() 5173 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
3260 * @generated 5174 * @generated
3261 */ 5175 */
3262 EClass BOOLEAN_FALSE = eINSTANCE.getBooleanFalse(); 5176 EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression();
3263 5177
3264 /** 5178 /**
3265 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl <em>True</em>}' class. 5179 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3266 * <!-- begin-user-doc --> 5180 * <!-- begin-user-doc -->
3267 * <!-- end-user-doc --> 5181 * <!-- end-user-doc -->
3268 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl
3269 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue()
3270 * @generated 5182 * @generated
3271 */ 5183 */
3272 EClass TRUE = eINSTANCE.getTrue(); 5184 EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op();
3273 5185
3274 /** 5186 /**
3275 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl <em>False</em>}' class. 5187 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3276 * <!-- begin-user-doc --> 5188 * <!-- begin-user-doc -->
3277 * <!-- end-user-doc --> 5189 * <!-- end-user-doc -->
3278 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl
3279 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse()
3280 * @generated 5190 * @generated
3281 */ 5191 */
3282 EClass FALSE = eINSTANCE.getFalse(); 5192 EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body();
3283 5193
3284 /** 5194 /**
3285 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl <em>Unknown</em>}' class. 5195 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
3286 * <!-- begin-user-doc --> 5196 * <!-- begin-user-doc -->
3287 * <!-- end-user-doc --> 5197 * <!-- end-user-doc -->
3288 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl 5198 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
3289 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown() 5199 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
3290 * @generated 5200 * @generated
3291 */ 5201 */
3292 EClass UNKNOWN = eINSTANCE.getUnknown(); 5202 EEnum METRIC_TYPE = eINSTANCE.getMetricType();
3293 5203
3294 /** 5204 /**
3295 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl <em>Error</em>}' class. 5205 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
3296 * <!-- begin-user-doc --> 5206 * <!-- begin-user-doc -->
3297 * <!-- end-user-doc --> 5207 * <!-- end-user-doc -->
3298 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl 5208 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
3299 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError() 5209 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
3300 * @generated 5210 * @generated
3301 */ 5211 */
3302 EClass ERROR = eINSTANCE.getError(); 5212 EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator();
3303 5213
3304 /** 5214 /**
3305 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl <em>Positive</em>}' class. 5215 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
3306 * <!-- begin-user-doc --> 5216 * <!-- begin-user-doc -->
3307 * <!-- end-user-doc --> 5217 * <!-- end-user-doc -->
3308 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl 5218 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
3309 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive() 5219 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
3310 * @generated 5220 * @generated
3311 */ 5221 */
3312 EClass POSITIVE = eINSTANCE.getPositive(); 5222 EEnum UNARY_OP = eINSTANCE.getUnaryOp();
3313 5223
3314 /** 5224 /**
3315 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl <em>Negative</em>}' class. 5225 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
3316 * <!-- begin-user-doc --> 5226 * <!-- begin-user-doc -->
3317 * <!-- end-user-doc --> 5227 * <!-- end-user-doc -->
3318 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl 5228 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
3319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative() 5229 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
3320 * @generated 5230 * @generated
3321 */ 5231 */
3322 EClass NEGATIVE = eINSTANCE.getNegative(); 5232 EEnum AGGREGATION_OP = eINSTANCE.getAggregationOp();
3323 5233
3324 /** 5234 /**
3325 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl <em>Reflexive Closure</em>}' class. 5235 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
3326 * <!-- begin-user-doc --> 5236 * <!-- begin-user-doc -->
3327 * <!-- end-user-doc --> 5237 * <!-- end-user-doc -->
3328 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl 5238 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
3329 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure() 5239 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
3330 * @generated 5240 * @generated
3331 */ 5241 */
3332 EClass REFLEXIVE_CLOSURE = eINSTANCE.getReflexiveClosure(); 5242 EEnum LOGIC_VALUE = eINSTANCE.getLogicValue();
3333 5243
3334 /** 5244 /**
3335 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl <em>Irreflexive Closure</em>}' class. 5245 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
3336 * <!-- begin-user-doc --> 5246 * <!-- begin-user-doc -->
3337 * <!-- end-user-doc --> 5247 * <!-- end-user-doc -->
3338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl 5248 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
3339 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure() 5249 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
3340 * @generated 5250 * @generated
3341 */ 5251 */
3342 EClass IRREFLEXIVE_CLOSURE = eINSTANCE.getIrreflexiveClosure(); 5252 EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind();
3343 5253
3344 } 5254 }
3345 5255
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
index f3d6d8ee..4e4bed1b 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
@@ -1,19 +1,19 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>String Symbol</b></em>'. 9 * A representation of the model object '<em><b>Star Argument</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * 12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringSymbol() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStarArgument()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface StringSymbol extends DataSymbol 17public interface StarArgument extends Argument
18{ 18{
19} // StringSymbol 19} // StarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
index f3da8f9c..9c3be9d6 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
@@ -1,8 +1,10 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6import org.eclipse.emf.common.util.EList;
7
6import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
7 9
8/** 10/**
@@ -10,6 +12,15 @@ import org.eclipse.emf.ecore.EObject;
10 * A representation of the model object '<em><b>Statement</b></em>'. 12 * A representation of the model object '<em><b>Statement</b></em>'.
11 * <!-- end-user-doc --> 13 * <!-- end-user-doc -->
12 * 14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses <em>Superclasses</em>}</li>
22 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers <em>Members</em>}</li>
23 * </ul>
13 * 24 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() 25 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement()
15 * @model 26 * @model
@@ -17,4 +28,72 @@ import org.eclipse.emf.ecore.EObject;
17 */ 28 */
18public interface Statement extends EObject 29public interface Statement extends EObject
19{ 30{
31 /**
32 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Abstract</em>' attribute.
36 * @see #setAbstract(boolean)
37 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Abstract()
38 * @model
39 * @generated
40 */
41 boolean isAbstract();
42
43 /**
44 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Abstract</em>' attribute.
48 * @see #isAbstract()
49 * @generated
50 */
51 void setAbstract(boolean value);
52
53 /**
54 * Returns the value of the '<em><b>Name</b></em>' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return the value of the '<em>Name</em>' attribute.
58 * @see #setName(String)
59 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Name()
60 * @model
61 * @generated
62 */
63 String getName();
64
65 /**
66 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @param value the new value of the '<em>Name</em>' attribute.
70 * @see #getName()
71 * @generated
72 */
73 void setName(String value);
74
75 /**
76 * Returns the value of the '<em><b>Superclasses</b></em>' reference list.
77 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @return the value of the '<em>Superclasses</em>' reference list.
81 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Superclasses()
82 * @model
83 * @generated
84 */
85 EList<NamedElement> getSuperclasses();
86
87 /**
88 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
89 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @return the value of the '<em>Members</em>' containment reference list.
93 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Members()
94 * @model containment="true"
95 * @generated
96 */
97 EList<MemberDefinition> getMembers();
98
20} // Statement 99} // Statement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
index d1d3ee6d..dc4d6487 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
@@ -1,26 +1,26 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage; 4package org.eclipse.viatra.solver.language.solverLanguage;
5 5
6 6
7/** 7/**
8 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>String Object</b></em>'. 9 * A representation of the model object '<em><b>String Literal</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p> 12 * <p>
13 * The following features are supported: 13 * The following features are supported:
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}</li>
17 * </ul> 17 * </ul>
18 * 18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject() 19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral()
20 * @model 20 * @model
21 * @generated 21 * @generated
22 */ 22 */
23public interface StringObject extends DataObject 23public interface StringLiteral extends Literal
24{ 24{
25 /** 25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute. 26 * Returns the value of the '<em><b>Value</b></em>' attribute.
@@ -28,14 +28,14 @@ public interface StringObject extends DataObject
28 * <!-- end-user-doc --> 28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute. 29 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(String) 30 * @see #setValue(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject_Value() 31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral_Value()
32 * @model 32 * @model
33 * @generated 33 * @generated
34 */ 34 */
35 String getValue(); 35 String getValue();
36 36
37 /** 37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}' attribute. 38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc --> 39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc --> 40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute. 41 * @param value the new value of the '<em>Value</em>' attribute.
@@ -44,4 +44,4 @@ public interface StringObject extends DataObject
44 */ 44 */
45 void setValue(String value); 45 void setValue(String value);
46 46
47} // StringObject 47} // StringLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
new file mode 100644
index 00000000..92504b5d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
@@ -0,0 +1,38 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Switch</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch()
21 * @model
22 * @generated
23 */
24public interface Switch extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Cases</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Case}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Cases</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch_Cases()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Case> getCases();
37
38} // Switch
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java
deleted file mode 100644
index dcf2a01a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Symbol</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSymbol()
15 * @model
16 * @generated
17 */
18public interface Symbol extends EObject
19{
20} // Symbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java
deleted file mode 100644
index d125d86a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>True</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTrue()
14 * @model
15 * @generated
16 */
17public interface True extends TruthValue
18{
19} // True
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java
deleted file mode 100644
index 48e2b8e8..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Truth Value</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTruthValue()
15 * @model
16 * @generated
17 */
18public interface TruthValue extends EObject
19{
20} // TruthValue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
new file mode 100644
index 00000000..f903338a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Typed Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument()
21 * @model
22 * @generated
23 */
24public interface TypedArgument extends Argument
25{
26 /**
27 * Returns the value of the '<em><b>Type</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Type</em>' reference.
31 * @see #setType(NamedElement)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Type()
33 * @model
34 * @generated
35 */
36 NamedElement getType();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Type</em>' reference.
43 * @see #getType()
44 * @generated
45 */
46 void setType(NamedElement value);
47
48 /**
49 * Returns the value of the '<em><b>Variable</b></em>' reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Variable</em>' reference.
53 * @see #setVariable(NamedElement)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Variable()
55 * @model
56 * @generated
57 */
58 NamedElement getVariable();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}' reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Variable</em>' reference.
65 * @see #getVariable()
66 * @generated
67 */
68 void setVariable(NamedElement value);
69
70} // TypedArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
new file mode 100644
index 00000000..2b8bc002
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Typed Star Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument()
20 * @model
21 * @generated
22 */
23public interface TypedStarArgument extends Argument
24{
25 /**
26 * Returns the value of the '<em><b>Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type</em>' reference.
30 * @see #setType(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument_Type()
32 * @model
33 * @generated
34 */
35 NamedElement getType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Type</em>' reference.
42 * @see #getType()
43 * @generated
44 */
45 void setType(NamedElement value);
46
47} // TypedStarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
new file mode 100644
index 00000000..5c2356cd
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
@@ -0,0 +1,73 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unary Expression</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression()
21 * @model
22 * @generated
23 */
24public interface UnaryExpression extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Op</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Op</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
33 * @see #setOp(UnaryOp)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Op()
35 * @model
36 * @generated
37 */
38 UnaryOp getOp();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Op</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
46 * @see #getOp()
47 * @generated
48 */
49 void setOp(UnaryOp value);
50
51 /**
52 * Returns the value of the '<em><b>Body</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Body</em>' containment reference.
56 * @see #setBody(Expression)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Body()
58 * @model containment="true"
59 * @generated
60 */
61 Expression getBody();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Body</em>' containment reference.
68 * @see #getBody()
69 * @generated
70 */
71 void setBody(Expression value);
72
73} // UnaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
new file mode 100644
index 00000000..e426f4f1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
@@ -0,0 +1,317 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Unary Op</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryOp()
18 * @model
19 * @generated
20 */
21public enum UnaryOp implements Enumerator
22{
23 /**
24 * The '<em><b>NEG</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #NEG_VALUE
28 * @generated
29 * @ordered
30 */
31 NEG(0, "NEG", "!"),
32
33 /**
34 * The '<em><b>PLUS</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #PLUS_VALUE
38 * @generated
39 * @ordered
40 */
41 PLUS(1, "PLUS", "+"),
42
43 /**
44 * The '<em><b>MINUS</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #MINUS_VALUE
48 * @generated
49 * @ordered
50 */
51 MINUS(2, "MINUS", "-"),
52
53 /**
54 * The '<em><b>MAY</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #MAY_VALUE
58 * @generated
59 * @ordered
60 */
61 MAY(3, "MAY", "may"),
62
63 /**
64 * The '<em><b>MUST</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #MUST_VALUE
68 * @generated
69 * @ordered
70 */
71 MUST(4, "MUST", "must"),
72
73 /**
74 * The '<em><b>CURRENT</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #CURRENT_VALUE
78 * @generated
79 * @ordered
80 */
81 CURRENT(5, "CURRENT", "current");
82
83 /**
84 * The '<em><b>NEG</b></em>' literal value.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #NEG
88 * @model literal="!"
89 * @generated
90 * @ordered
91 */
92 public static final int NEG_VALUE = 0;
93
94 /**
95 * The '<em><b>PLUS</b></em>' literal value.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #PLUS
99 * @model literal="+"
100 * @generated
101 * @ordered
102 */
103 public static final int PLUS_VALUE = 1;
104
105 /**
106 * The '<em><b>MINUS</b></em>' literal value.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #MINUS
110 * @model literal="-"
111 * @generated
112 * @ordered
113 */
114 public static final int MINUS_VALUE = 2;
115
116 /**
117 * The '<em><b>MAY</b></em>' literal value.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see #MAY
121 * @model literal="may"
122 * @generated
123 * @ordered
124 */
125 public static final int MAY_VALUE = 3;
126
127 /**
128 * The '<em><b>MUST</b></em>' literal value.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @see #MUST
132 * @model literal="must"
133 * @generated
134 * @ordered
135 */
136 public static final int MUST_VALUE = 4;
137
138 /**
139 * The '<em><b>CURRENT</b></em>' literal value.
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @see #CURRENT
143 * @model literal="current"
144 * @generated
145 * @ordered
146 */
147 public static final int CURRENT_VALUE = 5;
148
149 /**
150 * An array of all the '<em><b>Unary Op</b></em>' enumerators.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private static final UnaryOp[] VALUES_ARRAY =
156 new UnaryOp[]
157 {
158 NEG,
159 PLUS,
160 MINUS,
161 MAY,
162 MUST,
163 CURRENT,
164 };
165
166 /**
167 * A public read-only list of all the '<em><b>Unary Op</b></em>' enumerators.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public static final List<UnaryOp> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
173
174 /**
175 * Returns the '<em><b>Unary Op</b></em>' literal with the specified literal value.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @param literal the literal.
179 * @return the matching enumerator or <code>null</code>.
180 * @generated
181 */
182 public static UnaryOp get(String literal)
183 {
184 for (int i = 0; i < VALUES_ARRAY.length; ++i)
185 {
186 UnaryOp result = VALUES_ARRAY[i];
187 if (result.toString().equals(literal))
188 {
189 return result;
190 }
191 }
192 return null;
193 }
194
195 /**
196 * Returns the '<em><b>Unary Op</b></em>' literal with the specified name.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @param name the name.
200 * @return the matching enumerator or <code>null</code>.
201 * @generated
202 */
203 public static UnaryOp getByName(String name)
204 {
205 for (int i = 0; i < VALUES_ARRAY.length; ++i)
206 {
207 UnaryOp result = VALUES_ARRAY[i];
208 if (result.getName().equals(name))
209 {
210 return result;
211 }
212 }
213 return null;
214 }
215
216 /**
217 * Returns the '<em><b>Unary Op</b></em>' literal with the specified integer value.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @param value the integer value.
221 * @return the matching enumerator or <code>null</code>.
222 * @generated
223 */
224 public static UnaryOp get(int value)
225 {
226 switch (value)
227 {
228 case NEG_VALUE: return NEG;
229 case PLUS_VALUE: return PLUS;
230 case MINUS_VALUE: return MINUS;
231 case MAY_VALUE: return MAY;
232 case MUST_VALUE: return MUST;
233 case CURRENT_VALUE: return CURRENT;
234 }
235 return null;
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 private final int value;
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 private final String name;
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 private final String literal;
258
259 /**
260 * Only this class can construct instances.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private UnaryOp(int value, String name, String literal)
266 {
267 this.value = value;
268 this.name = name;
269 this.literal = literal;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public int getValue()
279 {
280 return value;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public String getName()
290 {
291 return name;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public String getLiteral()
301 {
302 return literal;
303 }
304
305 /**
306 * Returns the literal value of the enumerator, which is its string representation.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public String toString()
313 {
314 return literal;
315 }
316
317} //UnaryOp
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java
deleted file mode 100644
index 496f433a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unknown</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnknown()
14 * @model
15 * @generated
16 */
17public interface Unknown extends TruthValue
18{
19} // Unknown
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
new file mode 100644
index 00000000..54621550
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
@@ -0,0 +1,70 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unnamed Error Prediate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition()
21 * @model
22 * @generated
23 */
24public interface UnnamedErrorPrediateDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Argument List</em>' containment reference.
31 * @see #setArgumentList(ArgumentList)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_ArgumentList()
33 * @model containment="true"
34 * @generated
35 */
36 ArgumentList getArgumentList();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Argument List</em>' containment reference.
43 * @see #getArgumentList()
44 * @generated
45 */
46 void setArgumentList(ArgumentList value);
47
48 /**
49 * Returns the value of the '<em><b>Body</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Body</em>' containment reference.
53 * @see #setBody(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_Body()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getBody();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Body</em>' containment reference.
65 * @see #getBody()
66 * @generated
67 */
68 void setBody(Expression value);
69
70} // UnnamedErrorPrediateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java
deleted file mode 100644
index 152ee782..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unnamed Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedObject()
20 * @model
21 * @generated
22 */
23public interface UnnamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedObject_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // UnnamedObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
deleted file mode 100644
index 2f915fa7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Variable</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable()
20 * @model
21 * @generated
22 */
23public interface Variable extends Literal
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // Variable
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
new file mode 100644
index 00000000..542f3c40
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
@@ -0,0 +1,343 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
15import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Aggregation</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getOp <em>Op</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getCondition <em>Condition</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class AggregationImpl extends ExpressionImpl implements Aggregation
35{
36 /**
37 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getOp()
41 * @generated
42 * @ordered
43 */
44 protected static final AggregationOp OP_EDEFAULT = AggregationOp.ONLY;
45
46 /**
47 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected AggregationOp op = OP_EDEFAULT;
55
56 /**
57 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getBody()
61 * @generated
62 * @ordered
63 */
64 protected Expression body;
65
66 /**
67 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getCondition()
71 * @generated
72 * @ordered
73 */
74 protected Expression condition;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected AggregationImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.AGGREGATION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public AggregationOp getOp()
104 {
105 return op;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public void setOp(AggregationOp newOp)
115 {
116 AggregationOp oldOp = op;
117 op = newOp == null ? OP_EDEFAULT : newOp;
118 if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public Expression getBody()
129 {
130 return body;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
139 {
140 Expression oldBody = body;
141 body = newBody;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, oldBody, newBody);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setBody(Expression newBody)
157 {
158 if (newBody != body)
159 {
160 NotificationChain msgs = null;
161 if (body != null)
162 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
163 if (newBody != null)
164 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
165 msgs = basicSetBody(newBody, msgs);
166 if (msgs != null) msgs.dispatch();
167 }
168 else if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, newBody, newBody));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getCondition()
179 {
180 return condition;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
189 {
190 Expression oldCondition = condition;
191 condition = newCondition;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, oldCondition, newCondition);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setCondition(Expression newCondition)
207 {
208 if (newCondition != condition)
209 {
210 NotificationChain msgs = null;
211 if (condition != null)
212 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
213 if (newCondition != null)
214 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
215 msgs = basicSetCondition(newCondition, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, newCondition, newCondition));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.AGGREGATION__BODY:
233 return basicSetBody(null, msgs);
234 case SolverLanguagePackage.AGGREGATION__CONDITION:
235 return basicSetCondition(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.AGGREGATION__OP:
251 return getOp();
252 case SolverLanguagePackage.AGGREGATION__BODY:
253 return getBody();
254 case SolverLanguagePackage.AGGREGATION__CONDITION:
255 return getCondition();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.AGGREGATION__OP:
271 setOp((AggregationOp)newValue);
272 return;
273 case SolverLanguagePackage.AGGREGATION__BODY:
274 setBody((Expression)newValue);
275 return;
276 case SolverLanguagePackage.AGGREGATION__CONDITION:
277 setCondition((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.AGGREGATION__OP:
294 setOp(OP_EDEFAULT);
295 return;
296 case SolverLanguagePackage.AGGREGATION__BODY:
297 setBody((Expression)null);
298 return;
299 case SolverLanguagePackage.AGGREGATION__CONDITION:
300 setCondition((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.AGGREGATION__OP:
317 return op != OP_EDEFAULT;
318 case SolverLanguagePackage.AGGREGATION__BODY:
319 return body != null;
320 case SolverLanguagePackage.AGGREGATION__CONDITION:
321 return condition != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //AggregationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
index 7c2ae07d..d8bf8d91 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -7,24 +7,24 @@ import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9 9
10import org.eclipse.viatra.solver.language.solverLanguage.Polarity; 10import org.eclipse.viatra.solver.language.solverLanguage.Argument;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12 12
13/** 13/**
14 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Polarity</b></em>'. 15 * An implementation of the model object '<em><b>Argument</b></em>'.
16 * <!-- end-user-doc --> 16 * <!-- end-user-doc -->
17 * 17 *
18 * @generated 18 * @generated
19 */ 19 */
20public class PolarityImpl extends MinimalEObjectImpl.Container implements Polarity 20public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument
21{ 21{
22 /** 22 /**
23 * <!-- begin-user-doc --> 23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc --> 24 * <!-- end-user-doc -->
25 * @generated 25 * @generated
26 */ 26 */
27 protected PolarityImpl() 27 protected ArgumentImpl()
28 { 28 {
29 super(); 29 super();
30 } 30 }
@@ -37,7 +37,7 @@ public class PolarityImpl extends MinimalEObjectImpl.Container implements Polari
37 @Override 37 @Override
38 protected EClass eStaticClass() 38 protected EClass eStaticClass()
39 { 39 {
40 return SolverLanguagePackage.Literals.POLARITY; 40 return SolverLanguagePackage.Literals.ARGUMENT;
41 } 41 }
42 42
43} //PolarityImpl 43} //ArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
index 5cd03fbf..8c16fb4f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -17,41 +17,41 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17import org.eclipse.emf.ecore.util.EObjectContainmentEList; 17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList; 18import org.eclipse.emf.ecore.util.InternalEList;
19 19
20import org.eclipse.viatra.solver.language.solverLanguage.Constraint; 20import org.eclipse.viatra.solver.language.solverLanguage.Argument;
21import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; 21import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23 23
24/** 24/**
25 * <!-- begin-user-doc --> 25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Pattern Body</b></em>'. 26 * An implementation of the model object '<em><b>Argument List</b></em>'.
27 * <!-- end-user-doc --> 27 * <!-- end-user-doc -->
28 * <p> 28 * <p>
29 * The following features are implemented: 29 * The following features are implemented:
30 * </p> 30 * </p>
31 * <ul> 31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl#getConstraints <em>Constraints</em>}</li> 32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl#getArguments <em>Arguments</em>}</li>
33 * </ul> 33 * </ul>
34 * 34 *
35 * @generated 35 * @generated
36 */ 36 */
37public class PatternBodyImpl extends MinimalEObjectImpl.Container implements PatternBody 37public class ArgumentListImpl extends MinimalEObjectImpl.Container implements ArgumentList
38{ 38{
39 /** 39 /**
40 * The cached value of the '{@link #getConstraints() <em>Constraints</em>}' containment reference list. 40 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
41 * <!-- begin-user-doc --> 41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc --> 42 * <!-- end-user-doc -->
43 * @see #getConstraints() 43 * @see #getArguments()
44 * @generated 44 * @generated
45 * @ordered 45 * @ordered
46 */ 46 */
47 protected EList<Constraint> constraints; 47 protected EList<Argument> arguments;
48 48
49 /** 49 /**
50 * <!-- begin-user-doc --> 50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc --> 51 * <!-- end-user-doc -->
52 * @generated 52 * @generated
53 */ 53 */
54 protected PatternBodyImpl() 54 protected ArgumentListImpl()
55 { 55 {
56 super(); 56 super();
57 } 57 }
@@ -64,7 +64,7 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
64 @Override 64 @Override
65 protected EClass eStaticClass() 65 protected EClass eStaticClass()
66 { 66 {
67 return SolverLanguagePackage.Literals.PATTERN_BODY; 67 return SolverLanguagePackage.Literals.ARGUMENT_LIST;
68 } 68 }
69 69
70 /** 70 /**
@@ -73,13 +73,13 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
73 * @generated 73 * @generated
74 */ 74 */
75 @Override 75 @Override
76 public EList<Constraint> getConstraints() 76 public EList<Argument> getArguments()
77 { 77 {
78 if (constraints == null) 78 if (arguments == null)
79 { 79 {
80 constraints = new EObjectContainmentEList<Constraint>(Constraint.class, this, SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS); 80 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS);
81 } 81 }
82 return constraints; 82 return arguments;
83 } 83 }
84 84
85 /** 85 /**
@@ -92,8 +92,8 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
92 { 92 {
93 switch (featureID) 93 switch (featureID)
94 { 94 {
95 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 95 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
96 return ((InternalEList<?>)getConstraints()).basicRemove(otherEnd, msgs); 96 return ((InternalEList<?>)getArguments()).basicRemove(otherEnd, msgs);
97 } 97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs); 98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 } 99 }
@@ -108,8 +108,8 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
108 { 108 {
109 switch (featureID) 109 switch (featureID)
110 { 110 {
111 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 111 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
112 return getConstraints(); 112 return getArguments();
113 } 113 }
114 return super.eGet(featureID, resolve, coreType); 114 return super.eGet(featureID, resolve, coreType);
115 } 115 }
@@ -125,9 +125,9 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
125 { 125 {
126 switch (featureID) 126 switch (featureID)
127 { 127 {
128 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 128 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
129 getConstraints().clear(); 129 getArguments().clear();
130 getConstraints().addAll((Collection<? extends Constraint>)newValue); 130 getArguments().addAll((Collection<? extends Argument>)newValue);
131 return; 131 return;
132 } 132 }
133 super.eSet(featureID, newValue); 133 super.eSet(featureID, newValue);
@@ -143,8 +143,8 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
143 { 143 {
144 switch (featureID) 144 switch (featureID)
145 { 145 {
146 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 146 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
147 getConstraints().clear(); 147 getArguments().clear();
148 return; 148 return;
149 } 149 }
150 super.eUnset(featureID); 150 super.eUnset(featureID);
@@ -160,10 +160,10 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
160 { 160 {
161 switch (featureID) 161 switch (featureID)
162 { 162 {
163 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 163 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
164 return constraints != null && !constraints.isEmpty(); 164 return arguments != null && !arguments.isEmpty();
165 } 165 }
166 return super.eIsSet(featureID); 166 return super.eIsSet(featureID);
167 } 167 }
168 168
169} //PatternBodyImpl 169} //ArgumentListImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
index 6281c4bc..8165b62e 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -10,55 +10,53 @@ import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject; 10import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14 13
15import org.eclipse.viatra.solver.language.solverLanguage.Parameter; 14import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
18import org.eclipse.viatra.solver.language.solverLanguage.Variable;
19 17
20/** 18/**
21 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Parameter</b></em>'. 20 * An implementation of the model object '<em><b>Assertion</b></em>'.
23 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
24 * <p> 22 * <p>
25 * The following features are implemented: 23 * The following features are implemented:
26 * </p> 24 * </p>
27 * <ul> 25 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getVariable <em>Variable</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getType <em>Type</em>}</li> 27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getRange <em>Range</em>}</li>
30 * </ul> 28 * </ul>
31 * 29 *
32 * @generated 30 * @generated
33 */ 31 */
34public class ParameterImpl extends MinimalEObjectImpl.Container implements Parameter 32public class AssertionImpl extends StatementImpl implements Assertion
35{ 33{
36 /** 34 /**
37 * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference. 35 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
38 * <!-- begin-user-doc --> 36 * <!-- begin-user-doc -->
39 * <!-- end-user-doc --> 37 * <!-- end-user-doc -->
40 * @see #getVariable() 38 * @see #getBody()
41 * @generated 39 * @generated
42 * @ordered 40 * @ordered
43 */ 41 */
44 protected Variable variable; 42 protected Expression body;
45 43
46 /** 44 /**
47 * The cached value of the '{@link #getType() <em>Type</em>}' containment reference. 45 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
48 * <!-- begin-user-doc --> 46 * <!-- begin-user-doc -->
49 * <!-- end-user-doc --> 47 * <!-- end-user-doc -->
50 * @see #getType() 48 * @see #getRange()
51 * @generated 49 * @generated
52 * @ordered 50 * @ordered
53 */ 51 */
54 protected Symbol type; 52 protected Expression range;
55 53
56 /** 54 /**
57 * <!-- begin-user-doc --> 55 * <!-- begin-user-doc -->
58 * <!-- end-user-doc --> 56 * <!-- end-user-doc -->
59 * @generated 57 * @generated
60 */ 58 */
61 protected ParameterImpl() 59 protected AssertionImpl()
62 { 60 {
63 super(); 61 super();
64 } 62 }
@@ -71,7 +69,7 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
71 @Override 69 @Override
72 protected EClass eStaticClass() 70 protected EClass eStaticClass()
73 { 71 {
74 return SolverLanguagePackage.Literals.PARAMETER; 72 return SolverLanguagePackage.Literals.ASSERTION;
75 } 73 }
76 74
77 /** 75 /**
@@ -80,9 +78,9 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
80 * @generated 78 * @generated
81 */ 79 */
82 @Override 80 @Override
83 public Variable getVariable() 81 public Expression getBody()
84 { 82 {
85 return variable; 83 return body;
86 } 84 }
87 85
88 /** 86 /**
@@ -90,13 +88,13 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
90 * <!-- end-user-doc --> 88 * <!-- end-user-doc -->
91 * @generated 89 * @generated
92 */ 90 */
93 public NotificationChain basicSetVariable(Variable newVariable, NotificationChain msgs) 91 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
94 { 92 {
95 Variable oldVariable = variable; 93 Expression oldBody = body;
96 variable = newVariable; 94 body = newBody;
97 if (eNotificationRequired()) 95 if (eNotificationRequired())
98 { 96 {
99 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, oldVariable, newVariable); 97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, oldBody, newBody);
100 if (msgs == null) msgs = notification; else msgs.add(notification); 98 if (msgs == null) msgs = notification; else msgs.add(notification);
101 } 99 }
102 return msgs; 100 return msgs;
@@ -108,20 +106,20 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
108 * @generated 106 * @generated
109 */ 107 */
110 @Override 108 @Override
111 public void setVariable(Variable newVariable) 109 public void setBody(Expression newBody)
112 { 110 {
113 if (newVariable != variable) 111 if (newBody != body)
114 { 112 {
115 NotificationChain msgs = null; 113 NotificationChain msgs = null;
116 if (variable != null) 114 if (body != null)
117 msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs); 115 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
118 if (newVariable != null) 116 if (newBody != null)
119 msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs); 117 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
120 msgs = basicSetVariable(newVariable, msgs); 118 msgs = basicSetBody(newBody, msgs);
121 if (msgs != null) msgs.dispatch(); 119 if (msgs != null) msgs.dispatch();
122 } 120 }
123 else if (eNotificationRequired()) 121 else if (eNotificationRequired())
124 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, newVariable, newVariable)); 122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, newBody, newBody));
125 } 123 }
126 124
127 /** 125 /**
@@ -130,9 +128,9 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
130 * @generated 128 * @generated
131 */ 129 */
132 @Override 130 @Override
133 public Symbol getType() 131 public Expression getRange()
134 { 132 {
135 return type; 133 return range;
136 } 134 }
137 135
138 /** 136 /**
@@ -140,13 +138,13 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
140 * <!-- end-user-doc --> 138 * <!-- end-user-doc -->
141 * @generated 139 * @generated
142 */ 140 */
143 public NotificationChain basicSetType(Symbol newType, NotificationChain msgs) 141 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs)
144 { 142 {
145 Symbol oldType = type; 143 Expression oldRange = range;
146 type = newType; 144 range = newRange;
147 if (eNotificationRequired()) 145 if (eNotificationRequired())
148 { 146 {
149 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, oldType, newType); 147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, oldRange, newRange);
150 if (msgs == null) msgs = notification; else msgs.add(notification); 148 if (msgs == null) msgs = notification; else msgs.add(notification);
151 } 149 }
152 return msgs; 150 return msgs;
@@ -158,20 +156,20 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
158 * @generated 156 * @generated
159 */ 157 */
160 @Override 158 @Override
161 public void setType(Symbol newType) 159 public void setRange(Expression newRange)
162 { 160 {
163 if (newType != type) 161 if (newRange != range)
164 { 162 {
165 NotificationChain msgs = null; 163 NotificationChain msgs = null;
166 if (type != null) 164 if (range != null)
167 msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs); 165 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
168 if (newType != null) 166 if (newRange != null)
169 msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs); 167 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
170 msgs = basicSetType(newType, msgs); 168 msgs = basicSetRange(newRange, msgs);
171 if (msgs != null) msgs.dispatch(); 169 if (msgs != null) msgs.dispatch();
172 } 170 }
173 else if (eNotificationRequired()) 171 else if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, newType, newType)); 172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, newRange, newRange));
175 } 173 }
176 174
177 /** 175 /**
@@ -184,10 +182,10 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
184 { 182 {
185 switch (featureID) 183 switch (featureID)
186 { 184 {
187 case SolverLanguagePackage.PARAMETER__VARIABLE: 185 case SolverLanguagePackage.ASSERTION__BODY:
188 return basicSetVariable(null, msgs); 186 return basicSetBody(null, msgs);
189 case SolverLanguagePackage.PARAMETER__TYPE: 187 case SolverLanguagePackage.ASSERTION__RANGE:
190 return basicSetType(null, msgs); 188 return basicSetRange(null, msgs);
191 } 189 }
192 return super.eInverseRemove(otherEnd, featureID, msgs); 190 return super.eInverseRemove(otherEnd, featureID, msgs);
193 } 191 }
@@ -202,10 +200,10 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
202 { 200 {
203 switch (featureID) 201 switch (featureID)
204 { 202 {
205 case SolverLanguagePackage.PARAMETER__VARIABLE: 203 case SolverLanguagePackage.ASSERTION__BODY:
206 return getVariable(); 204 return getBody();
207 case SolverLanguagePackage.PARAMETER__TYPE: 205 case SolverLanguagePackage.ASSERTION__RANGE:
208 return getType(); 206 return getRange();
209 } 207 }
210 return super.eGet(featureID, resolve, coreType); 208 return super.eGet(featureID, resolve, coreType);
211 } 209 }
@@ -220,11 +218,11 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
220 { 218 {
221 switch (featureID) 219 switch (featureID)
222 { 220 {
223 case SolverLanguagePackage.PARAMETER__VARIABLE: 221 case SolverLanguagePackage.ASSERTION__BODY:
224 setVariable((Variable)newValue); 222 setBody((Expression)newValue);
225 return; 223 return;
226 case SolverLanguagePackage.PARAMETER__TYPE: 224 case SolverLanguagePackage.ASSERTION__RANGE:
227 setType((Symbol)newValue); 225 setRange((Expression)newValue);
228 return; 226 return;
229 } 227 }
230 super.eSet(featureID, newValue); 228 super.eSet(featureID, newValue);
@@ -240,11 +238,11 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
240 { 238 {
241 switch (featureID) 239 switch (featureID)
242 { 240 {
243 case SolverLanguagePackage.PARAMETER__VARIABLE: 241 case SolverLanguagePackage.ASSERTION__BODY:
244 setVariable((Variable)null); 242 setBody((Expression)null);
245 return; 243 return;
246 case SolverLanguagePackage.PARAMETER__TYPE: 244 case SolverLanguagePackage.ASSERTION__RANGE:
247 setType((Symbol)null); 245 setRange((Expression)null);
248 return; 246 return;
249 } 247 }
250 super.eUnset(featureID); 248 super.eUnset(featureID);
@@ -260,12 +258,12 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
260 { 258 {
261 switch (featureID) 259 switch (featureID)
262 { 260 {
263 case SolverLanguagePackage.PARAMETER__VARIABLE: 261 case SolverLanguagePackage.ASSERTION__BODY:
264 return variable != null; 262 return body != null;
265 case SolverLanguagePackage.PARAMETER__TYPE: 263 case SolverLanguagePackage.ASSERTION__RANGE:
266 return type != null; 264 return range != null;
267 } 265 }
268 return super.eIsSet(featureID); 266 return super.eIsSet(featureID);
269 } 267 }
270 268
271} //ParameterImpl 269} //AssertionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java
deleted file mode 100644
index aef515f6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java
+++ /dev/null
@@ -1,318 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
23import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
24import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
25import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Basic Interpretation</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getSymbol <em>Symbol</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getObjects <em>Objects</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getValue <em>Value</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public class BasicInterpretationImpl extends InterpretationImpl implements BasicInterpretation
43{
44 /**
45 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getSymbol()
49 * @generated
50 * @ordered
51 */
52 protected Symbol symbol;
53
54 /**
55 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference list.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getObjects()
59 * @generated
60 * @ordered
61 */
62 protected EList<ComplexObject> objects;
63
64 /**
65 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getValue()
69 * @generated
70 * @ordered
71 */
72 protected TruthValue value;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 protected BasicInterpretationImpl()
80 {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass()
91 {
92 return SolverLanguagePackage.Literals.BASIC_INTERPRETATION;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public Symbol getSymbol()
102 {
103 return symbol;
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs)
112 {
113 Symbol oldSymbol = symbol;
114 symbol = newSymbol;
115 if (eNotificationRequired())
116 {
117 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
118 if (msgs == null) msgs = notification; else msgs.add(notification);
119 }
120 return msgs;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void setSymbol(Symbol newSymbol)
130 {
131 if (newSymbol != symbol)
132 {
133 NotificationChain msgs = null;
134 if (symbol != null)
135 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs);
136 if (newSymbol != null)
137 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs);
138 msgs = basicSetSymbol(newSymbol, msgs);
139 if (msgs != null) msgs.dispatch();
140 }
141 else if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public EList<ComplexObject> getObjects()
152 {
153 if (objects == null)
154 {
155 objects = new EObjectContainmentEList<ComplexObject>(ComplexObject.class, this, SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS);
156 }
157 return objects;
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public TruthValue getValue()
167 {
168 return value;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public NotificationChain basicSetValue(TruthValue newValue, NotificationChain msgs)
177 {
178 TruthValue oldValue = value;
179 value = newValue;
180 if (eNotificationRequired())
181 {
182 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, oldValue, newValue);
183 if (msgs == null) msgs = notification; else msgs.add(notification);
184 }
185 return msgs;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public void setValue(TruthValue newValue)
195 {
196 if (newValue != value)
197 {
198 NotificationChain msgs = null;
199 if (value != null)
200 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs);
201 if (newValue != null)
202 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs);
203 msgs = basicSetValue(newValue, msgs);
204 if (msgs != null) msgs.dispatch();
205 }
206 else if (eNotificationRequired())
207 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, newValue, newValue));
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
217 {
218 switch (featureID)
219 {
220 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
221 return basicSetSymbol(null, msgs);
222 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
223 return ((InternalEList<?>)getObjects()).basicRemove(otherEnd, msgs);
224 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
225 return basicSetValue(null, msgs);
226 }
227 return super.eInverseRemove(otherEnd, featureID, msgs);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public Object eGet(int featureID, boolean resolve, boolean coreType)
237 {
238 switch (featureID)
239 {
240 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
241 return getSymbol();
242 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
243 return getObjects();
244 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
245 return getValue();
246 }
247 return super.eGet(featureID, resolve, coreType);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @SuppressWarnings("unchecked")
256 @Override
257 public void eSet(int featureID, Object newValue)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
262 setSymbol((Symbol)newValue);
263 return;
264 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
265 getObjects().clear();
266 getObjects().addAll((Collection<? extends ComplexObject>)newValue);
267 return;
268 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
269 setValue((TruthValue)newValue);
270 return;
271 }
272 super.eSet(featureID, newValue);
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public void eUnset(int featureID)
282 {
283 switch (featureID)
284 {
285 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
286 setSymbol((Symbol)null);
287 return;
288 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
289 getObjects().clear();
290 return;
291 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
292 setValue((TruthValue)null);
293 return;
294 }
295 super.eUnset(featureID);
296 }
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 @Override
304 public boolean eIsSet(int featureID)
305 {
306 switch (featureID)
307 {
308 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
309 return symbol != null;
310 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
311 return objects != null && !objects.isEmpty();
312 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
313 return value != null;
314 }
315 return super.eIsSet(featureID);
316 }
317
318} //BasicInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
new file mode 100644
index 00000000..adc94c4a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
@@ -0,0 +1,343 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Binary Expression</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getLeft <em>Left</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getOp <em>Op</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getRight <em>Right</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression
35{
36 /**
37 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getLeft()
41 * @generated
42 * @ordered
43 */
44 protected Expression left;
45
46 /**
47 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
55
56 /**
57 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getOp()
61 * @generated
62 * @ordered
63 */
64 protected BinaryOperator op = OP_EDEFAULT;
65
66 /**
67 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getRight()
71 * @generated
72 * @ordered
73 */
74 protected Expression right;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected BinaryExpressionImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.BINARY_EXPRESSION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getLeft()
104 {
105 return left;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
114 {
115 Expression oldLeft = left;
116 left = newLeft;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, oldLeft, newLeft);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLeft(Expression newLeft)
132 {
133 if (newLeft != left)
134 {
135 NotificationChain msgs = null;
136 if (left != null)
137 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
138 if (newLeft != null)
139 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
140 msgs = basicSetLeft(newLeft, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, newLeft, newLeft));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public BinaryOperator getOp()
154 {
155 return op;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public void setOp(BinaryOperator newOp)
165 {
166 BinaryOperator oldOp = op;
167 op = newOp == null ? OP_EDEFAULT : newOp;
168 if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__OP, oldOp, op));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getRight()
179 {
180 return right;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
189 {
190 Expression oldRight = right;
191 right = newRight;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, oldRight, newRight);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setRight(Expression newRight)
207 {
208 if (newRight != right)
209 {
210 NotificationChain msgs = null;
211 if (right != null)
212 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
213 if (newRight != null)
214 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
215 msgs = basicSetRight(newRight, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, newRight, newRight));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
233 return basicSetLeft(null, msgs);
234 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
235 return basicSetRight(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
251 return getLeft();
252 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
253 return getOp();
254 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
255 return getRight();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
271 setLeft((Expression)newValue);
272 return;
273 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
274 setOp((BinaryOperator)newValue);
275 return;
276 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
277 setRight((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
294 setLeft((Expression)null);
295 return;
296 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
297 setOp(OP_EDEFAULT);
298 return;
299 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
300 setRight((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
317 return left != null;
318 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
319 return op != OP_EDEFAULT;
320 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
321 return right != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //BinaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java
deleted file mode 100644
index ae78f540..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean False</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class BooleanFalseImpl extends BooleanValueImpl implements BooleanFalse
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected BooleanFalseImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_FALSE;
39 }
40
41} //BooleanFalseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java
deleted file mode 100644
index 49258091..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class BooleanSymbolImpl extends DataSymbolImpl implements BooleanSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected BooleanSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_SYMBOL;
39 }
40
41} //BooleanSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java
deleted file mode 100644
index b27ab959..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Boolean Value</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class BooleanValueImpl extends MinimalEObjectImpl.Container implements BooleanValue
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected BooleanValueImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.BOOLEAN_VALUE;
41 }
42
43} //BooleanValueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
new file mode 100644
index 00000000..45a105e0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
@@ -0,0 +1,237 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Bounded Multiplicity</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getUpperBound <em>Upper Bound</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class BoundedMultiplicityImpl extends MultiplicityImpl implements BoundedMultiplicity
30{
31 /**
32 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getLowerBound()
36 * @generated
37 * @ordered
38 */
39 protected static final int LOWER_BOUND_EDEFAULT = 0;
40
41 /**
42 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getLowerBound()
46 * @generated
47 * @ordered
48 */
49 protected int lowerBound = LOWER_BOUND_EDEFAULT;
50
51 /**
52 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getUpperBound()
56 * @generated
57 * @ordered
58 */
59 protected static final int UPPER_BOUND_EDEFAULT = 0;
60
61 /**
62 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getUpperBound()
66 * @generated
67 * @ordered
68 */
69 protected int upperBound = UPPER_BOUND_EDEFAULT;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected BoundedMultiplicityImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public int getLowerBound()
99 {
100 return lowerBound;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(int newLowerBound)
110 {
111 int oldLowerBound = lowerBound;
112 lowerBound = newLowerBound;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND, oldLowerBound, lowerBound));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public int getUpperBound()
124 {
125 return upperBound;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void setUpperBound(int newUpperBound)
135 {
136 int oldUpperBound = upperBound;
137 upperBound = newUpperBound;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND, oldUpperBound, upperBound));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public Object eGet(int featureID, boolean resolve, boolean coreType)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
153 return getLowerBound();
154 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
155 return getUpperBound();
156 }
157 return super.eGet(featureID, resolve, coreType);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eSet(int featureID, Object newValue)
167 {
168 switch (featureID)
169 {
170 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
171 setLowerBound((Integer)newValue);
172 return;
173 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
174 setUpperBound((Integer)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
191 setLowerBound(LOWER_BOUND_EDEFAULT);
192 return;
193 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
194 setUpperBound(UPPER_BOUND_EDEFAULT);
195 return;
196 }
197 super.eUnset(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public boolean eIsSet(int featureID)
207 {
208 switch (featureID)
209 {
210 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
211 return lowerBound != LOWER_BOUND_EDEFAULT;
212 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
213 return upperBound != UPPER_BOUND_EDEFAULT;
214 }
215 return super.eIsSet(featureID);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public String toString()
225 {
226 if (eIsProxy()) return super.toString();
227
228 StringBuilder result = new StringBuilder(super.toString());
229 result.append(" (lowerBound: ");
230 result.append(lowerBound);
231 result.append(", upperBound: ");
232 result.append(upperBound);
233 result.append(')');
234 return result.toString();
235 }
236
237} //BoundedMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
new file mode 100644
index 00000000..36bf4f96
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
@@ -0,0 +1,237 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Bounded Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getUpperBound <em>Upper Bound</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class BoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements BoundedScopeDefinition
30{
31 /**
32 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getLowerBound()
36 * @generated
37 * @ordered
38 */
39 protected static final int LOWER_BOUND_EDEFAULT = 0;
40
41 /**
42 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getLowerBound()
46 * @generated
47 * @ordered
48 */
49 protected int lowerBound = LOWER_BOUND_EDEFAULT;
50
51 /**
52 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getUpperBound()
56 * @generated
57 * @ordered
58 */
59 protected static final int UPPER_BOUND_EDEFAULT = 0;
60
61 /**
62 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getUpperBound()
66 * @generated
67 * @ordered
68 */
69 protected int upperBound = UPPER_BOUND_EDEFAULT;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected BoundedScopeDefinitionImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return SolverLanguagePackage.Literals.BOUNDED_SCOPE_DEFINITION;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public int getLowerBound()
99 {
100 return lowerBound;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(int newLowerBound)
110 {
111 int oldLowerBound = lowerBound;
112 lowerBound = newLowerBound;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public int getUpperBound()
124 {
125 return upperBound;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void setUpperBound(int newUpperBound)
135 {
136 int oldUpperBound = upperBound;
137 upperBound = newUpperBound;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND, oldUpperBound, upperBound));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public Object eGet(int featureID, boolean resolve, boolean coreType)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
153 return getLowerBound();
154 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
155 return getUpperBound();
156 }
157 return super.eGet(featureID, resolve, coreType);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eSet(int featureID, Object newValue)
167 {
168 switch (featureID)
169 {
170 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
171 setLowerBound((Integer)newValue);
172 return;
173 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
174 setUpperBound((Integer)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
191 setLowerBound(LOWER_BOUND_EDEFAULT);
192 return;
193 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
194 setUpperBound(UPPER_BOUND_EDEFAULT);
195 return;
196 }
197 super.eUnset(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public boolean eIsSet(int featureID)
207 {
208 switch (featureID)
209 {
210 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
211 return lowerBound != LOWER_BOUND_EDEFAULT;
212 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
213 return upperBound != UPPER_BOUND_EDEFAULT;
214 }
215 return super.eIsSet(featureID);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public String toString()
225 {
226 if (eIsProxy()) return super.toString();
227
228 StringBuilder result = new StringBuilder(super.toString());
229 result.append(" (lowerBound: ");
230 result.append(lowerBound);
231 result.append(", upperBound: ");
232 result.append(upperBound);
233 result.append(')');
234 return result.toString();
235 }
236
237} //BoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java
deleted file mode 100644
index b23bbba5..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>CD Interpretation</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class CDInterpretationImpl extends InterpretationImpl implements CDInterpretation
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected CDInterpretationImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.CD_INTERPRETATION;
39 }
40
41} //CDInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
new file mode 100644
index 00000000..fde31be5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
@@ -0,0 +1,401 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
15import org.eclipse.viatra.solver.language.solverLanguage.Call;
16import org.eclipse.viatra.solver.language.solverLanguage.Reference;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Call</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getFunctor <em>Functor</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList <em>Argument List</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class CallImpl extends ExpressionImpl implements Call
36{
37 /**
38 * The cached value of the '{@link #getFunctor() <em>Functor</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getFunctor()
42 * @generated
43 * @ordered
44 */
45 protected Reference functor;
46
47 /**
48 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getArgumentList()
52 * @generated
53 * @ordered
54 */
55 protected ArgumentList argumentList;
56
57 /**
58 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #isTransitiveClosure()
62 * @generated
63 * @ordered
64 */
65 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
66
67 /**
68 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #isTransitiveClosure()
72 * @generated
73 * @ordered
74 */
75 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
76
77 /**
78 * The default value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @see #isReflexiveTransitiveClosure()
82 * @generated
83 * @ordered
84 */
85 protected static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false;
86
87 /**
88 * The cached value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @see #isReflexiveTransitiveClosure()
92 * @generated
93 * @ordered
94 */
95 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 protected CallImpl()
103 {
104 super();
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @Override
113 protected EClass eStaticClass()
114 {
115 return SolverLanguagePackage.Literals.CALL;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Reference getFunctor()
125 {
126 return functor;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public NotificationChain basicSetFunctor(Reference newFunctor, NotificationChain msgs)
135 {
136 Reference oldFunctor = functor;
137 functor = newFunctor;
138 if (eNotificationRequired())
139 {
140 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, oldFunctor, newFunctor);
141 if (msgs == null) msgs = notification; else msgs.add(notification);
142 }
143 return msgs;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void setFunctor(Reference newFunctor)
153 {
154 if (newFunctor != functor)
155 {
156 NotificationChain msgs = null;
157 if (functor != null)
158 msgs = ((InternalEObject)functor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
159 if (newFunctor != null)
160 msgs = ((InternalEObject)newFunctor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
161 msgs = basicSetFunctor(newFunctor, msgs);
162 if (msgs != null) msgs.dispatch();
163 }
164 else if (eNotificationRequired())
165 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, newFunctor, newFunctor));
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public ArgumentList getArgumentList()
175 {
176 return argumentList;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
185 {
186 ArgumentList oldArgumentList = argumentList;
187 argumentList = newArgumentList;
188 if (eNotificationRequired())
189 {
190 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
191 if (msgs == null) msgs = notification; else msgs.add(notification);
192 }
193 return msgs;
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 @Override
202 public void setArgumentList(ArgumentList newArgumentList)
203 {
204 if (newArgumentList != argumentList)
205 {
206 NotificationChain msgs = null;
207 if (argumentList != null)
208 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
209 if (newArgumentList != null)
210 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
211 msgs = basicSetArgumentList(newArgumentList, msgs);
212 if (msgs != null) msgs.dispatch();
213 }
214 else if (eNotificationRequired())
215 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList));
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public boolean isTransitiveClosure()
225 {
226 return transitiveClosure;
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 @Override
235 public void setTransitiveClosure(boolean newTransitiveClosure)
236 {
237 boolean oldTransitiveClosure = transitiveClosure;
238 transitiveClosure = newTransitiveClosure;
239 if (eNotificationRequired())
240 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
249 public boolean isReflexiveTransitiveClosure()
250 {
251 return reflexiveTransitiveClosure;
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 @Override
260 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure)
261 {
262 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure;
263 reflexiveTransitiveClosure = newReflexiveTransitiveClosure;
264 if (eNotificationRequired())
265 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure));
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
275 {
276 switch (featureID)
277 {
278 case SolverLanguagePackage.CALL__FUNCTOR:
279 return basicSetFunctor(null, msgs);
280 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
281 return basicSetArgumentList(null, msgs);
282 }
283 return super.eInverseRemove(otherEnd, featureID, msgs);
284 }
285
286 /**
287 * <!-- begin-user-doc -->
288 * <!-- end-user-doc -->
289 * @generated
290 */
291 @Override
292 public Object eGet(int featureID, boolean resolve, boolean coreType)
293 {
294 switch (featureID)
295 {
296 case SolverLanguagePackage.CALL__FUNCTOR:
297 return getFunctor();
298 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
299 return getArgumentList();
300 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
301 return isTransitiveClosure();
302 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
303 return isReflexiveTransitiveClosure();
304 }
305 return super.eGet(featureID, resolve, coreType);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 @Override
314 public void eSet(int featureID, Object newValue)
315 {
316 switch (featureID)
317 {
318 case SolverLanguagePackage.CALL__FUNCTOR:
319 setFunctor((Reference)newValue);
320 return;
321 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
322 setArgumentList((ArgumentList)newValue);
323 return;
324 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
325 setTransitiveClosure((Boolean)newValue);
326 return;
327 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
328 setReflexiveTransitiveClosure((Boolean)newValue);
329 return;
330 }
331 super.eSet(featureID, newValue);
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public void eUnset(int featureID)
341 {
342 switch (featureID)
343 {
344 case SolverLanguagePackage.CALL__FUNCTOR:
345 setFunctor((Reference)null);
346 return;
347 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
348 setArgumentList((ArgumentList)null);
349 return;
350 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
351 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
352 return;
353 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
354 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT);
355 return;
356 }
357 super.eUnset(featureID);
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 @Override
366 public boolean eIsSet(int featureID)
367 {
368 switch (featureID)
369 {
370 case SolverLanguagePackage.CALL__FUNCTOR:
371 return functor != null;
372 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
373 return argumentList != null;
374 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
375 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
376 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
377 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
378 }
379 return super.eIsSet(featureID);
380 }
381
382 /**
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @generated
386 */
387 @Override
388 public String toString()
389 {
390 if (eIsProxy()) return super.toString();
391
392 StringBuilder result = new StringBuilder(super.toString());
393 result.append(" (transitiveClosure: ");
394 result.append(transitiveClosure);
395 result.append(", reflexiveTransitiveClosure: ");
396 result.append(reflexiveTransitiveClosure);
397 result.append(')');
398 return result.toString();
399 }
400
401} //CallImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
new file mode 100644
index 00000000..47245831
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
@@ -0,0 +1,269 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Case;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Case</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition <em>Condition</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getBody <em>Body</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class CaseImpl extends ExpressionImpl implements Case
33{
34 /**
35 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getCondition()
39 * @generated
40 * @ordered
41 */
42 protected Expression condition;
43
44 /**
45 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getBody()
49 * @generated
50 * @ordered
51 */
52 protected Expression body;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected CaseImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.CASE;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getCondition()
82 {
83 return condition;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
92 {
93 Expression oldCondition = condition;
94 condition = newCondition;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, oldCondition, newCondition);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setCondition(Expression newCondition)
110 {
111 if (newCondition != condition)
112 {
113 NotificationChain msgs = null;
114 if (condition != null)
115 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
116 if (newCondition != null)
117 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
118 msgs = basicSetCondition(newCondition, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, newCondition, newCondition));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getBody()
132 {
133 return body;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
142 {
143 Expression oldBody = body;
144 body = newBody;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, oldBody, newBody);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setBody(Expression newBody)
160 {
161 if (newBody != body)
162 {
163 NotificationChain msgs = null;
164 if (body != null)
165 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
166 if (newBody != null)
167 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
168 msgs = basicSetBody(newBody, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, newBody, newBody));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.CASE__CONDITION:
186 return basicSetCondition(null, msgs);
187 case SolverLanguagePackage.CASE__BODY:
188 return basicSetBody(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.CASE__CONDITION:
204 return getCondition();
205 case SolverLanguagePackage.CASE__BODY:
206 return getBody();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.CASE__CONDITION:
222 setCondition((Expression)newValue);
223 return;
224 case SolverLanguagePackage.CASE__BODY:
225 setBody((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.CASE__CONDITION:
242 setCondition((Expression)null);
243 return;
244 case SolverLanguagePackage.CASE__BODY:
245 setBody((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.CASE__CONDITION:
262 return condition != null;
263 case SolverLanguagePackage.CASE__BODY:
264 return body != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //CaseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java
deleted file mode 100644
index effc5970..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java
+++ /dev/null
@@ -1,356 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
24import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Class Interpretation</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#isAbstract <em>Abstract</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSymbol <em>Symbol</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSupertypes <em>Supertypes</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getFielt <em>Fielt</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public class ClassInterpretationImpl extends CDInterpretationImpl implements ClassInterpretation
43{
44 /**
45 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #isAbstract()
49 * @generated
50 * @ordered
51 */
52 protected static final boolean ABSTRACT_EDEFAULT = false;
53
54 /**
55 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #isAbstract()
59 * @generated
60 * @ordered
61 */
62 protected boolean abstract_ = ABSTRACT_EDEFAULT;
63
64 /**
65 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getSymbol()
69 * @generated
70 * @ordered
71 */
72 protected ModelSymbol symbol;
73
74 /**
75 * The cached value of the '{@link #getSupertypes() <em>Supertypes</em>}' containment reference list.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getSupertypes()
79 * @generated
80 * @ordered
81 */
82 protected EList<ModelSymbol> supertypes;
83
84 /**
85 * The cached value of the '{@link #getFielt() <em>Fielt</em>}' containment reference list.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getFielt()
89 * @generated
90 * @ordered
91 */
92 protected EList<FieldRelationInterpretation> fielt;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 protected ClassInterpretationImpl()
100 {
101 super();
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 protected EClass eStaticClass()
111 {
112 return SolverLanguagePackage.Literals.CLASS_INTERPRETATION;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public boolean isAbstract()
122 {
123 return abstract_;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public void setAbstract(boolean newAbstract)
133 {
134 boolean oldAbstract = abstract_;
135 abstract_ = newAbstract;
136 if (eNotificationRequired())
137 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT, oldAbstract, abstract_));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public ModelSymbol getSymbol()
147 {
148 return symbol;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
157 {
158 ModelSymbol oldSymbol = symbol;
159 symbol = newSymbol;
160 if (eNotificationRequired())
161 {
162 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
163 if (msgs == null) msgs = notification; else msgs.add(notification);
164 }
165 return msgs;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public void setSymbol(ModelSymbol newSymbol)
175 {
176 if (newSymbol != symbol)
177 {
178 NotificationChain msgs = null;
179 if (symbol != null)
180 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs);
181 if (newSymbol != null)
182 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs);
183 msgs = basicSetSymbol(newSymbol, msgs);
184 if (msgs != null) msgs.dispatch();
185 }
186 else if (eNotificationRequired())
187 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public EList<ModelSymbol> getSupertypes()
197 {
198 if (supertypes == null)
199 {
200 supertypes = new EObjectContainmentEList<ModelSymbol>(ModelSymbol.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES);
201 }
202 return supertypes;
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public EList<FieldRelationInterpretation> getFielt()
212 {
213 if (fielt == null)
214 {
215 fielt = new EObjectContainmentEList<FieldRelationInterpretation>(FieldRelationInterpretation.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__FIELT);
216 }
217 return fielt;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
227 {
228 switch (featureID)
229 {
230 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
231 return basicSetSymbol(null, msgs);
232 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
233 return ((InternalEList<?>)getSupertypes()).basicRemove(otherEnd, msgs);
234 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
235 return ((InternalEList<?>)getFielt()).basicRemove(otherEnd, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
251 return isAbstract();
252 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
253 return getSymbol();
254 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
255 return getSupertypes();
256 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
257 return getFielt();
258 }
259 return super.eGet(featureID, resolve, coreType);
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @SuppressWarnings("unchecked")
268 @Override
269 public void eSet(int featureID, Object newValue)
270 {
271 switch (featureID)
272 {
273 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
274 setAbstract((Boolean)newValue);
275 return;
276 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
277 setSymbol((ModelSymbol)newValue);
278 return;
279 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
280 getSupertypes().clear();
281 getSupertypes().addAll((Collection<? extends ModelSymbol>)newValue);
282 return;
283 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
284 getFielt().clear();
285 getFielt().addAll((Collection<? extends FieldRelationInterpretation>)newValue);
286 return;
287 }
288 super.eSet(featureID, newValue);
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 @Override
297 public void eUnset(int featureID)
298 {
299 switch (featureID)
300 {
301 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
302 setAbstract(ABSTRACT_EDEFAULT);
303 return;
304 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
305 setSymbol((ModelSymbol)null);
306 return;
307 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
308 getSupertypes().clear();
309 return;
310 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
311 getFielt().clear();
312 return;
313 }
314 super.eUnset(featureID);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @Override
323 public boolean eIsSet(int featureID)
324 {
325 switch (featureID)
326 {
327 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
328 return abstract_ != ABSTRACT_EDEFAULT;
329 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
330 return symbol != null;
331 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
332 return supertypes != null && !supertypes.isEmpty();
333 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
334 return fielt != null && !fielt.isEmpty();
335 }
336 return super.eIsSet(featureID);
337 }
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 @Override
345 public String toString()
346 {
347 if (eIsProxy()) return super.toString();
348
349 StringBuilder result = new StringBuilder(super.toString());
350 result.append(" (abstract: ");
351 result.append(abstract_);
352 result.append(')');
353 return result.toString();
354 }
355
356} //ClassInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
new file mode 100644
index 00000000..9e62d7ef
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
@@ -0,0 +1,343 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
15import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Comparison</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getLeft <em>Left</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getOp <em>Op</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getRight <em>Right</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class ComparisonImpl extends ExpressionImpl implements Comparison
35{
36 /**
37 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getLeft()
41 * @generated
42 * @ordered
43 */
44 protected Expression left;
45
46 /**
47 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
55
56 /**
57 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getOp()
61 * @generated
62 * @ordered
63 */
64 protected BinaryOperator op = OP_EDEFAULT;
65
66 /**
67 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getRight()
71 * @generated
72 * @ordered
73 */
74 protected Expression right;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected ComparisonImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.COMPARISON;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getLeft()
104 {
105 return left;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
114 {
115 Expression oldLeft = left;
116 left = newLeft;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, oldLeft, newLeft);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLeft(Expression newLeft)
132 {
133 if (newLeft != left)
134 {
135 NotificationChain msgs = null;
136 if (left != null)
137 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
138 if (newLeft != null)
139 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
140 msgs = basicSetLeft(newLeft, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, newLeft, newLeft));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public BinaryOperator getOp()
154 {
155 return op;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public void setOp(BinaryOperator newOp)
165 {
166 BinaryOperator oldOp = op;
167 op = newOp == null ? OP_EDEFAULT : newOp;
168 if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__OP, oldOp, op));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getRight()
179 {
180 return right;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
189 {
190 Expression oldRight = right;
191 right = newRight;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, oldRight, newRight);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setRight(Expression newRight)
207 {
208 if (newRight != right)
209 {
210 NotificationChain msgs = null;
211 if (right != null)
212 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
213 if (newRight != null)
214 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
215 msgs = basicSetRight(newRight, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, newRight, newRight));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.COMPARISON__LEFT:
233 return basicSetLeft(null, msgs);
234 case SolverLanguagePackage.COMPARISON__RIGHT:
235 return basicSetRight(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.COMPARISON__LEFT:
251 return getLeft();
252 case SolverLanguagePackage.COMPARISON__OP:
253 return getOp();
254 case SolverLanguagePackage.COMPARISON__RIGHT:
255 return getRight();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.COMPARISON__LEFT:
271 setLeft((Expression)newValue);
272 return;
273 case SolverLanguagePackage.COMPARISON__OP:
274 setOp((BinaryOperator)newValue);
275 return;
276 case SolverLanguagePackage.COMPARISON__RIGHT:
277 setRight((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.COMPARISON__LEFT:
294 setLeft((Expression)null);
295 return;
296 case SolverLanguagePackage.COMPARISON__OP:
297 setOp(OP_EDEFAULT);
298 return;
299 case SolverLanguagePackage.COMPARISON__RIGHT:
300 setRight((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.COMPARISON__LEFT:
317 return left != null;
318 case SolverLanguagePackage.COMPARISON__OP:
319 return op != OP_EDEFAULT;
320 case SolverLanguagePackage.COMPARISON__RIGHT:
321 return right != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //ComparisonImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java
deleted file mode 100644
index 09ad8a6d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Complex Object</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class ComplexObjectImpl extends MinimalEObjectImpl.Container implements ComplexObject
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected ComplexObjectImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.COMPLEX_OBJECT;
41 }
42
43} //ComplexObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
new file mode 100644
index 00000000..6a1e995a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
@@ -0,0 +1,167 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
19import org.eclipse.viatra.solver.language.solverLanguage.Expression;
20import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Conjunction</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl#getChildren <em>Children</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class ConjunctionImpl extends ExpressionImpl implements Conjunction
36{
37 /**
38 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getChildren()
42 * @generated
43 * @ordered
44 */
45 protected EList<Expression> children;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected ConjunctionImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.CONJUNCTION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Expression> getChildren()
75 {
76 if (children == null)
77 {
78 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.CONJUNCTION__CHILDREN);
79 }
80 return children;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
94 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
110 return getChildren();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
127 getChildren().clear();
128 getChildren().addAll((Collection<? extends Expression>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
145 getChildren().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
162 return children != null && !children.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //ConjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java
deleted file mode 100644
index 2f990fee..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java
+++ /dev/null
@@ -1,393 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
23import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
24import org.eclipse.viatra.solver.language.solverLanguage.Literal;
25import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
26import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
27import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
28
29/**
30 * <!-- begin-user-doc -->
31 * An implementation of the model object '<em><b>Constraint</b></em>'.
32 * <!-- end-user-doc -->
33 * <p>
34 * The following features are implemented:
35 * </p>
36 * <ul>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getPolarity <em>Polarity</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getSymbol <em>Symbol</em>}</li>
39 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getParams <em>Params</em>}</li>
40 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getClosureType <em>Closure Type</em>}</li>
41 * </ul>
42 *
43 * @generated
44 */
45public class ConstraintImpl extends MinimalEObjectImpl.Container implements Constraint
46{
47 /**
48 * The cached value of the '{@link #getPolarity() <em>Polarity</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getPolarity()
52 * @generated
53 * @ordered
54 */
55 protected Polarity polarity;
56
57 /**
58 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #getSymbol()
62 * @generated
63 * @ordered
64 */
65 protected ModelSymbol symbol;
66
67 /**
68 * The cached value of the '{@link #getParams() <em>Params</em>}' containment reference list.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #getParams()
72 * @generated
73 * @ordered
74 */
75 protected EList<Literal> params;
76
77 /**
78 * The cached value of the '{@link #getClosureType() <em>Closure Type</em>}' containment reference.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @see #getClosureType()
82 * @generated
83 * @ordered
84 */
85 protected ClosureType closureType;
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 protected ConstraintImpl()
93 {
94 super();
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 protected EClass eStaticClass()
104 {
105 return SolverLanguagePackage.Literals.CONSTRAINT;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Polarity getPolarity()
115 {
116 return polarity;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 public NotificationChain basicSetPolarity(Polarity newPolarity, NotificationChain msgs)
125 {
126 Polarity oldPolarity = polarity;
127 polarity = newPolarity;
128 if (eNotificationRequired())
129 {
130 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, oldPolarity, newPolarity);
131 if (msgs == null) msgs = notification; else msgs.add(notification);
132 }
133 return msgs;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void setPolarity(Polarity newPolarity)
143 {
144 if (newPolarity != polarity)
145 {
146 NotificationChain msgs = null;
147 if (polarity != null)
148 msgs = ((InternalEObject)polarity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs);
149 if (newPolarity != null)
150 msgs = ((InternalEObject)newPolarity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs);
151 msgs = basicSetPolarity(newPolarity, msgs);
152 if (msgs != null) msgs.dispatch();
153 }
154 else if (eNotificationRequired())
155 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, newPolarity, newPolarity));
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public ModelSymbol getSymbol()
165 {
166 return symbol;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
175 {
176 ModelSymbol oldSymbol = symbol;
177 symbol = newSymbol;
178 if (eNotificationRequired())
179 {
180 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, oldSymbol, newSymbol);
181 if (msgs == null) msgs = notification; else msgs.add(notification);
182 }
183 return msgs;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void setSymbol(ModelSymbol newSymbol)
193 {
194 if (newSymbol != symbol)
195 {
196 NotificationChain msgs = null;
197 if (symbol != null)
198 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs);
199 if (newSymbol != null)
200 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs);
201 msgs = basicSetSymbol(newSymbol, msgs);
202 if (msgs != null) msgs.dispatch();
203 }
204 else if (eNotificationRequired())
205 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, newSymbol, newSymbol));
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public EList<Literal> getParams()
215 {
216 if (params == null)
217 {
218 params = new EObjectContainmentEList<Literal>(Literal.class, this, SolverLanguagePackage.CONSTRAINT__PARAMS);
219 }
220 return params;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public ClosureType getClosureType()
230 {
231 return closureType;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public NotificationChain basicSetClosureType(ClosureType newClosureType, NotificationChain msgs)
240 {
241 ClosureType oldClosureType = closureType;
242 closureType = newClosureType;
243 if (eNotificationRequired())
244 {
245 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, oldClosureType, newClosureType);
246 if (msgs == null) msgs = notification; else msgs.add(notification);
247 }
248 return msgs;
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public void setClosureType(ClosureType newClosureType)
258 {
259 if (newClosureType != closureType)
260 {
261 NotificationChain msgs = null;
262 if (closureType != null)
263 msgs = ((InternalEObject)closureType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs);
264 if (newClosureType != null)
265 msgs = ((InternalEObject)newClosureType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs);
266 msgs = basicSetClosureType(newClosureType, msgs);
267 if (msgs != null) msgs.dispatch();
268 }
269 else if (eNotificationRequired())
270 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, newClosureType, newClosureType));
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
280 {
281 switch (featureID)
282 {
283 case SolverLanguagePackage.CONSTRAINT__POLARITY:
284 return basicSetPolarity(null, msgs);
285 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
286 return basicSetSymbol(null, msgs);
287 case SolverLanguagePackage.CONSTRAINT__PARAMS:
288 return ((InternalEList<?>)getParams()).basicRemove(otherEnd, msgs);
289 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
290 return basicSetClosureType(null, msgs);
291 }
292 return super.eInverseRemove(otherEnd, featureID, msgs);
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public Object eGet(int featureID, boolean resolve, boolean coreType)
302 {
303 switch (featureID)
304 {
305 case SolverLanguagePackage.CONSTRAINT__POLARITY:
306 return getPolarity();
307 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
308 return getSymbol();
309 case SolverLanguagePackage.CONSTRAINT__PARAMS:
310 return getParams();
311 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
312 return getClosureType();
313 }
314 return super.eGet(featureID, resolve, coreType);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @SuppressWarnings("unchecked")
323 @Override
324 public void eSet(int featureID, Object newValue)
325 {
326 switch (featureID)
327 {
328 case SolverLanguagePackage.CONSTRAINT__POLARITY:
329 setPolarity((Polarity)newValue);
330 return;
331 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
332 setSymbol((ModelSymbol)newValue);
333 return;
334 case SolverLanguagePackage.CONSTRAINT__PARAMS:
335 getParams().clear();
336 getParams().addAll((Collection<? extends Literal>)newValue);
337 return;
338 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
339 setClosureType((ClosureType)newValue);
340 return;
341 }
342 super.eSet(featureID, newValue);
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 @Override
351 public void eUnset(int featureID)
352 {
353 switch (featureID)
354 {
355 case SolverLanguagePackage.CONSTRAINT__POLARITY:
356 setPolarity((Polarity)null);
357 return;
358 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
359 setSymbol((ModelSymbol)null);
360 return;
361 case SolverLanguagePackage.CONSTRAINT__PARAMS:
362 getParams().clear();
363 return;
364 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
365 setClosureType((ClosureType)null);
366 return;
367 }
368 super.eUnset(featureID);
369 }
370
371 /**
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 */
376 @Override
377 public boolean eIsSet(int featureID)
378 {
379 switch (featureID)
380 {
381 case SolverLanguagePackage.CONSTRAINT__POLARITY:
382 return polarity != null;
383 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
384 return symbol != null;
385 case SolverLanguagePackage.CONSTRAINT__PARAMS:
386 return params != null && !params.isEmpty();
387 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
388 return closureType != null;
389 }
390 return super.eIsSet(featureID);
391 }
392
393} //ConstraintImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
index 5da3bf30..1609245f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -11,41 +11,41 @@ import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 14import org.eclipse.viatra.solver.language.solverLanguage.Count;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
17 17
18/** 18/**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>All Instances</b></em>'. 20 * An implementation of the model object '<em><b>Count</b></em>'.
21 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
22 * <p> 22 * <p>
23 * The following features are implemented: 23 * The following features are implemented:
24 * </p> 24 * </p>
25 * <ul> 25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl#getSymbol <em>Symbol</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl#getBody <em>Body</em>}</li>
27 * </ul> 27 * </ul>
28 * 28 *
29 * @generated 29 * @generated
30 */ 30 */
31public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances 31public class CountImpl extends ExpressionImpl implements Count
32{ 32{
33 /** 33 /**
34 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference. 34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc --> 35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc --> 36 * <!-- end-user-doc -->
37 * @see #getSymbol() 37 * @see #getBody()
38 * @generated 38 * @generated
39 * @ordered 39 * @ordered
40 */ 40 */
41 protected Symbol symbol; 41 protected Expression body;
42 42
43 /** 43 /**
44 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
46 * @generated 46 * @generated
47 */ 47 */
48 protected AllInstancesImpl() 48 protected CountImpl()
49 { 49 {
50 super(); 50 super();
51 } 51 }
@@ -58,7 +58,7 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
58 @Override 58 @Override
59 protected EClass eStaticClass() 59 protected EClass eStaticClass()
60 { 60 {
61 return SolverLanguagePackage.Literals.ALL_INSTANCES; 61 return SolverLanguagePackage.Literals.COUNT;
62 } 62 }
63 63
64 /** 64 /**
@@ -67,9 +67,9 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
67 * @generated 67 * @generated
68 */ 68 */
69 @Override 69 @Override
70 public Symbol getSymbol() 70 public Expression getBody()
71 { 71 {
72 return symbol; 72 return body;
73 } 73 }
74 74
75 /** 75 /**
@@ -77,13 +77,13 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
77 * <!-- end-user-doc --> 77 * <!-- end-user-doc -->
78 * @generated 78 * @generated
79 */ 79 */
80 public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs) 80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 { 81 {
82 Symbol oldSymbol = symbol; 82 Expression oldBody = body;
83 symbol = newSymbol; 83 body = newBody;
84 if (eNotificationRequired()) 84 if (eNotificationRequired())
85 { 85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, oldSymbol, newSymbol); 86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification); 87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 } 88 }
89 return msgs; 89 return msgs;
@@ -95,20 +95,20 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
95 * @generated 95 * @generated
96 */ 96 */
97 @Override 97 @Override
98 public void setSymbol(Symbol newSymbol) 98 public void setBody(Expression newBody)
99 { 99 {
100 if (newSymbol != symbol) 100 if (newBody != body)
101 { 101 {
102 NotificationChain msgs = null; 102 NotificationChain msgs = null;
103 if (symbol != null) 103 if (body != null)
104 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs); 104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
105 if (newSymbol != null) 105 if (newBody != null)
106 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs); 106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
107 msgs = basicSetSymbol(newSymbol, msgs); 107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch(); 108 if (msgs != null) msgs.dispatch();
109 } 109 }
110 else if (eNotificationRequired()) 110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, newSymbol, newSymbol)); 111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, newBody, newBody));
112 } 112 }
113 113
114 /** 114 /**
@@ -121,8 +121,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 124 case SolverLanguagePackage.COUNT__BODY:
125 return basicSetSymbol(null, msgs); 125 return basicSetBody(null, msgs);
126 } 126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs); 127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 } 128 }
@@ -137,8 +137,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
137 { 137 {
138 switch (featureID) 138 switch (featureID)
139 { 139 {
140 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 140 case SolverLanguagePackage.COUNT__BODY:
141 return getSymbol(); 141 return getBody();
142 } 142 }
143 return super.eGet(featureID, resolve, coreType); 143 return super.eGet(featureID, resolve, coreType);
144 } 144 }
@@ -153,8 +153,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 156 case SolverLanguagePackage.COUNT__BODY:
157 setSymbol((Symbol)newValue); 157 setBody((Expression)newValue);
158 return; 158 return;
159 } 159 }
160 super.eSet(featureID, newValue); 160 super.eSet(featureID, newValue);
@@ -170,8 +170,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
170 { 170 {
171 switch (featureID) 171 switch (featureID)
172 { 172 {
173 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 173 case SolverLanguagePackage.COUNT__BODY:
174 setSymbol((Symbol)null); 174 setBody((Expression)null);
175 return; 175 return;
176 } 176 }
177 super.eUnset(featureID); 177 super.eUnset(featureID);
@@ -187,10 +187,10 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
187 { 187 {
188 switch (featureID) 188 switch (featureID)
189 { 189 {
190 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 190 case SolverLanguagePackage.COUNT__BODY:
191 return symbol != null; 191 return body != null;
192 } 192 }
193 return super.eIsSet(featureID); 193 return super.eIsSet(featureID);
194 } 194 }
195 195
196} //AllInstancesImpl 196} //CountImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java
deleted file mode 100644
index 33bee29f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Data Object</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class DataObjectImpl extends ObjectImpl implements DataObject
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected DataObjectImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.DATA_OBJECT;
39 }
40
41} //DataObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java
deleted file mode 100644
index 221b4783..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Data Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class DataSymbolImpl extends SymbolImpl implements DataSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected DataSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.DATA_SYMBOL;
39 }
40
41} //DataSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
new file mode 100644
index 00000000..c1eaa71a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
@@ -0,0 +1,270 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Default Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getHead <em>Head</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getRange <em>Range</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class DefaultDefinitionImpl extends StatementImpl implements DefaultDefinition
34{
35 /**
36 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getHead()
40 * @generated
41 * @ordered
42 */
43 protected Call head;
44
45 /**
46 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getRange()
50 * @generated
51 * @ordered
52 */
53 protected Expression range;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected DefaultDefinitionImpl()
61 {
62 super();
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 protected EClass eStaticClass()
72 {
73 return SolverLanguagePackage.Literals.DEFAULT_DEFINITION;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public Call getHead()
83 {
84 return head;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
93 {
94 Call oldHead = head;
95 head = newHead;
96 if (eNotificationRequired())
97 {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, oldHead, newHead);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setHead(Call newHead)
111 {
112 if (newHead != head)
113 {
114 NotificationChain msgs = null;
115 if (head != null)
116 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
117 if (newHead != null)
118 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
119 msgs = basicSetHead(newHead, msgs);
120 if (msgs != null) msgs.dispatch();
121 }
122 else if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, newHead, newHead));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Expression getRange()
133 {
134 return range;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs)
143 {
144 Expression oldRange = range;
145 range = newRange;
146 if (eNotificationRequired())
147 {
148 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, oldRange, newRange);
149 if (msgs == null) msgs = notification; else msgs.add(notification);
150 }
151 return msgs;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void setRange(Expression newRange)
161 {
162 if (newRange != range)
163 {
164 NotificationChain msgs = null;
165 if (range != null)
166 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
167 if (newRange != null)
168 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
169 msgs = basicSetRange(newRange, msgs);
170 if (msgs != null) msgs.dispatch();
171 }
172 else if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, newRange, newRange));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
183 {
184 switch (featureID)
185 {
186 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
187 return basicSetHead(null, msgs);
188 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
189 return basicSetRange(null, msgs);
190 }
191 return super.eInverseRemove(otherEnd, featureID, msgs);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public Object eGet(int featureID, boolean resolve, boolean coreType)
201 {
202 switch (featureID)
203 {
204 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
205 return getHead();
206 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
207 return getRange();
208 }
209 return super.eGet(featureID, resolve, coreType);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eSet(int featureID, Object newValue)
219 {
220 switch (featureID)
221 {
222 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
223 setHead((Call)newValue);
224 return;
225 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
226 setRange((Expression)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
243 setHead((Call)null);
244 return;
245 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
246 setRange((Expression)null);
247 return;
248 }
249 super.eUnset(featureID);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public boolean eIsSet(int featureID)
259 {
260 switch (featureID)
261 {
262 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
263 return head != null;
264 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
265 return range != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //DefaultDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
new file mode 100644
index 00000000..ecdb14d8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
@@ -0,0 +1,167 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
19import org.eclipse.viatra.solver.language.solverLanguage.Expression;
20import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Disjunction</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl#getChildren <em>Children</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class DisjunctionImpl extends ExpressionImpl implements Disjunction
36{
37 /**
38 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getChildren()
42 * @generated
43 * @ordered
44 */
45 protected EList<Expression> children;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected DisjunctionImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.DISJUNCTION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Expression> getChildren()
75 {
76 if (children == null)
77 {
78 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.DISJUNCTION__CHILDREN);
79 }
80 return children;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
94 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
110 return getChildren();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
127 getChildren().clear();
128 getChildren().addAll((Collection<? extends Expression>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
145 getChildren().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
162 return children != null && !children.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //DisjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
index 44195feb..1ebf38ad 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Unknown</b></em>'. 13 * An implementation of the model object '<em><b>Empty Interval Literal</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class UnknownImpl extends TruthValueImpl implements Unknown 18public class EmptyIntervalLiteralImpl extends LiteralImpl implements EmptyIntervalLiteral
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected UnknownImpl() 25 protected EmptyIntervalLiteralImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class UnknownImpl extends TruthValueImpl implements Unknown
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.UNKNOWN; 38 return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL;
39 } 39 }
40 40
41} //UnknownImpl 41} //EmptyIntervalLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java
deleted file mode 100644
index efa12ea6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
23import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
24import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Enum Interpretation</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl#getSymbol <em>Symbol</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl#getObjects <em>Objects</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class EnumInterpretationImpl extends CDInterpretationImpl implements EnumInterpretation
41{
42 /**
43 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getSymbol()
47 * @generated
48 * @ordered
49 */
50 protected ModelSymbol symbol;
51
52 /**
53 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference list.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getObjects()
57 * @generated
58 * @ordered
59 */
60 protected EList<NamedObject> objects;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 protected EnumInterpretationImpl()
68 {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass()
79 {
80 return SolverLanguagePackage.Literals.ENUM_INTERPRETATION;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public ModelSymbol getSymbol()
90 {
91 return symbol;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
100 {
101 ModelSymbol oldSymbol = symbol;
102 symbol = newSymbol;
103 if (eNotificationRequired())
104 {
105 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
106 if (msgs == null) msgs = notification; else msgs.add(notification);
107 }
108 return msgs;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public void setSymbol(ModelSymbol newSymbol)
118 {
119 if (newSymbol != symbol)
120 {
121 NotificationChain msgs = null;
122 if (symbol != null)
123 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs);
124 if (newSymbol != null)
125 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs);
126 msgs = basicSetSymbol(newSymbol, msgs);
127 if (msgs != null) msgs.dispatch();
128 }
129 else if (eNotificationRequired())
130 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public EList<NamedObject> getObjects()
140 {
141 if (objects == null)
142 {
143 objects = new EObjectContainmentEList<NamedObject>(NamedObject.class, this, SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS);
144 }
145 return objects;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
155 {
156 switch (featureID)
157 {
158 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
159 return basicSetSymbol(null, msgs);
160 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
161 return ((InternalEList<?>)getObjects()).basicRemove(otherEnd, msgs);
162 }
163 return super.eInverseRemove(otherEnd, featureID, msgs);
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public Object eGet(int featureID, boolean resolve, boolean coreType)
173 {
174 switch (featureID)
175 {
176 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
177 return getSymbol();
178 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
179 return getObjects();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @SuppressWarnings("unchecked")
190 @Override
191 public void eSet(int featureID, Object newValue)
192 {
193 switch (featureID)
194 {
195 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
196 setSymbol((ModelSymbol)newValue);
197 return;
198 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
199 getObjects().clear();
200 getObjects().addAll((Collection<? extends NamedObject>)newValue);
201 return;
202 }
203 super.eSet(featureID, newValue);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public void eUnset(int featureID)
213 {
214 switch (featureID)
215 {
216 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
217 setSymbol((ModelSymbol)null);
218 return;
219 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
220 getObjects().clear();
221 return;
222 }
223 super.eUnset(featureID);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public boolean eIsSet(int featureID)
233 {
234 switch (featureID)
235 {
236 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
237 return symbol != null;
238 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
239 return objects != null && !objects.isEmpty();
240 }
241 return super.eIsSet(featureID);
242 }
243
244} //EnumInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java
deleted file mode 100644
index 33929f42..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Equals Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class EqualsSymbolImpl extends PartialitySymbolImpl implements EqualsSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected EqualsSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EQUALS_SYMBOL;
39 }
40
41} //EqualsSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java
deleted file mode 100644
index e58094a7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Error</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ErrorImpl extends TruthValueImpl implements org.eclipse.viatra.solver.language.solverLanguage.Error
18{
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ErrorImpl()
25 {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass()
36 {
37 return SolverLanguagePackage.Literals.ERROR;
38 }
39
40} //ErrorImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
index bd195572..3751de39 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -9,50 +9,50 @@ import org.eclipse.emf.ecore.EClass;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11 11
12import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; 12import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14 14
15/** 15/**
16 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Model Symbol</b></em>'. 17 * An implementation of the model object '<em><b>Exact Multiplicity</b></em>'.
18 * <!-- end-user-doc --> 18 * <!-- end-user-doc -->
19 * <p> 19 * <p>
20 * The following features are implemented: 20 * The following features are implemented:
21 * </p> 21 * </p>
22 * <ul> 22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl#getName <em>Name</em>}</li> 23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl#getMultiplicity <em>Multiplicity</em>}</li>
24 * </ul> 24 * </ul>
25 * 25 *
26 * @generated 26 * @generated
27 */ 27 */
28public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol 28public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity
29{ 29{
30 /** 30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 31 * The default value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
32 * <!-- begin-user-doc --> 32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc --> 33 * <!-- end-user-doc -->
34 * @see #getName() 34 * @see #getMultiplicity()
35 * @generated 35 * @generated
36 * @ordered 36 * @ordered
37 */ 37 */
38 protected static final String NAME_EDEFAULT = null; 38 protected static final int MULTIPLICITY_EDEFAULT = 0;
39 39
40 /** 40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute. 41 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
42 * <!-- begin-user-doc --> 42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc --> 43 * <!-- end-user-doc -->
44 * @see #getName() 44 * @see #getMultiplicity()
45 * @generated 45 * @generated
46 * @ordered 46 * @ordered
47 */ 47 */
48 protected String name = NAME_EDEFAULT; 48 protected int multiplicity = MULTIPLICITY_EDEFAULT;
49 49
50 /** 50 /**
51 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @generated 53 * @generated
54 */ 54 */
55 protected ModelSymbolImpl() 55 protected ExactMultiplicityImpl()
56 { 56 {
57 super(); 57 super();
58 } 58 }
@@ -65,7 +65,7 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
65 @Override 65 @Override
66 protected EClass eStaticClass() 66 protected EClass eStaticClass()
67 { 67 {
68 return SolverLanguagePackage.Literals.MODEL_SYMBOL; 68 return SolverLanguagePackage.Literals.EXACT_MULTIPLICITY;
69 } 69 }
70 70
71 /** 71 /**
@@ -74,9 +74,9 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
74 * @generated 74 * @generated
75 */ 75 */
76 @Override 76 @Override
77 public String getName() 77 public int getMultiplicity()
78 { 78 {
79 return name; 79 return multiplicity;
80 } 80 }
81 81
82 /** 82 /**
@@ -85,12 +85,12 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
85 * @generated 85 * @generated
86 */ 86 */
87 @Override 87 @Override
88 public void setName(String newName) 88 public void setMultiplicity(int newMultiplicity)
89 { 89 {
90 String oldName = name; 90 int oldMultiplicity = multiplicity;
91 name = newName; 91 multiplicity = newMultiplicity;
92 if (eNotificationRequired()) 92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MODEL_SYMBOL__NAME, oldName, name)); 93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY, oldMultiplicity, multiplicity));
94 } 94 }
95 95
96 /** 96 /**
@@ -103,8 +103,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
103 { 103 {
104 switch (featureID) 104 switch (featureID)
105 { 105 {
106 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 106 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
107 return getName(); 107 return getMultiplicity();
108 } 108 }
109 return super.eGet(featureID, resolve, coreType); 109 return super.eGet(featureID, resolve, coreType);
110 } 110 }
@@ -119,8 +119,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
119 { 119 {
120 switch (featureID) 120 switch (featureID)
121 { 121 {
122 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 122 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
123 setName((String)newValue); 123 setMultiplicity((Integer)newValue);
124 return; 124 return;
125 } 125 }
126 super.eSet(featureID, newValue); 126 super.eSet(featureID, newValue);
@@ -136,8 +136,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
136 { 136 {
137 switch (featureID) 137 switch (featureID)
138 { 138 {
139 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 139 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
140 setName(NAME_EDEFAULT); 140 setMultiplicity(MULTIPLICITY_EDEFAULT);
141 return; 141 return;
142 } 142 }
143 super.eUnset(featureID); 143 super.eUnset(featureID);
@@ -153,8 +153,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 156 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); 157 return multiplicity != MULTIPLICITY_EDEFAULT;
158 } 158 }
159 return super.eIsSet(featureID); 159 return super.eIsSet(featureID);
160 } 160 }
@@ -170,10 +170,10 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
170 if (eIsProxy()) return super.toString(); 170 if (eIsProxy()) return super.toString();
171 171
172 StringBuilder result = new StringBuilder(super.toString()); 172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: "); 173 result.append(" (multiplicity: ");
174 result.append(name); 174 result.append(multiplicity);
175 result.append(')'); 175 result.append(')');
176 return result.toString(); 176 return result.toString();
177 } 177 }
178 178
179} //ModelSymbolImpl 179} //ExactMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
index 9d907661..faf51904 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -9,50 +9,50 @@ import org.eclipse.emf.ecore.EClass;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11 11
12import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; 12import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14 14
15/** 15/**
16 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Named Object</b></em>'. 17 * An implementation of the model object '<em><b>Exact Scope Definition</b></em>'.
18 * <!-- end-user-doc --> 18 * <!-- end-user-doc -->
19 * <p> 19 * <p>
20 * The following features are implemented: 20 * The following features are implemented:
21 * </p> 21 * </p>
22 * <ul> 22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl#getName <em>Name</em>}</li> 23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl#getExactScope <em>Exact Scope</em>}</li>
24 * </ul> 24 * </ul>
25 * 25 *
26 * @generated 26 * @generated
27 */ 27 */
28public class NamedObjectImpl extends ObjectImpl implements NamedObject 28public class ExactScopeDefinitionImpl extends ScopeDefinitionImpl implements ExactScopeDefinition
29{ 29{
30 /** 30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 31 * The default value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
32 * <!-- begin-user-doc --> 32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc --> 33 * <!-- end-user-doc -->
34 * @see #getName() 34 * @see #getExactScope()
35 * @generated 35 * @generated
36 * @ordered 36 * @ordered
37 */ 37 */
38 protected static final String NAME_EDEFAULT = null; 38 protected static final int EXACT_SCOPE_EDEFAULT = 0;
39 39
40 /** 40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute. 41 * The cached value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
42 * <!-- begin-user-doc --> 42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc --> 43 * <!-- end-user-doc -->
44 * @see #getName() 44 * @see #getExactScope()
45 * @generated 45 * @generated
46 * @ordered 46 * @ordered
47 */ 47 */
48 protected String name = NAME_EDEFAULT; 48 protected int exactScope = EXACT_SCOPE_EDEFAULT;
49 49
50 /** 50 /**
51 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @generated 53 * @generated
54 */ 54 */
55 protected NamedObjectImpl() 55 protected ExactScopeDefinitionImpl()
56 { 56 {
57 super(); 57 super();
58 } 58 }
@@ -65,7 +65,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
65 @Override 65 @Override
66 protected EClass eStaticClass() 66 protected EClass eStaticClass()
67 { 67 {
68 return SolverLanguagePackage.Literals.NAMED_OBJECT; 68 return SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION;
69 } 69 }
70 70
71 /** 71 /**
@@ -74,9 +74,9 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
74 * @generated 74 * @generated
75 */ 75 */
76 @Override 76 @Override
77 public String getName() 77 public int getExactScope()
78 { 78 {
79 return name; 79 return exactScope;
80 } 80 }
81 81
82 /** 82 /**
@@ -85,12 +85,12 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
85 * @generated 85 * @generated
86 */ 86 */
87 @Override 87 @Override
88 public void setName(String newName) 88 public void setExactScope(int newExactScope)
89 { 89 {
90 String oldName = name; 90 int oldExactScope = exactScope;
91 name = newName; 91 exactScope = newExactScope;
92 if (eNotificationRequired()) 92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_OBJECT__NAME, oldName, name)); 93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE, oldExactScope, exactScope));
94 } 94 }
95 95
96 /** 96 /**
@@ -103,8 +103,8 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
103 { 103 {
104 switch (featureID) 104 switch (featureID)
105 { 105 {
106 case SolverLanguagePackage.NAMED_OBJECT__NAME: 106 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
107 return getName(); 107 return getExactScope();
108 } 108 }
109 return super.eGet(featureID, resolve, coreType); 109 return super.eGet(featureID, resolve, coreType);
110 } 110 }
@@ -119,8 +119,8 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
119 { 119 {
120 switch (featureID) 120 switch (featureID)
121 { 121 {
122 case SolverLanguagePackage.NAMED_OBJECT__NAME: 122 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
123 setName((String)newValue); 123 setExactScope((Integer)newValue);
124 return; 124 return;
125 } 125 }
126 super.eSet(featureID, newValue); 126 super.eSet(featureID, newValue);
@@ -136,8 +136,8 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
136 { 136 {
137 switch (featureID) 137 switch (featureID)
138 { 138 {
139 case SolverLanguagePackage.NAMED_OBJECT__NAME: 139 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
140 setName(NAME_EDEFAULT); 140 setExactScope(EXACT_SCOPE_EDEFAULT);
141 return; 141 return;
142 } 142 }
143 super.eUnset(featureID); 143 super.eUnset(featureID);
@@ -153,8 +153,8 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.NAMED_OBJECT__NAME: 156 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); 157 return exactScope != EXACT_SCOPE_EDEFAULT;
158 } 158 }
159 return super.eIsSet(featureID); 159 return super.eIsSet(featureID);
160 } 160 }
@@ -170,10 +170,10 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
170 if (eIsProxy()) return super.toString(); 170 if (eIsProxy()) return super.toString();
171 171
172 StringBuilder result = new StringBuilder(super.toString()); 172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: "); 173 result.append(" (exactScope: ");
174 result.append(name); 174 result.append(exactScope);
175 result.append(')'); 175 result.append(')');
176 return result.toString(); 176 return result.toString();
177 } 177 }
178 178
179} //NamedObjectImpl 179} //ExactScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java
deleted file mode 100644
index 2fd59e41..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Exist Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ExistSymbolImpl extends PartialitySymbolImpl implements ExistSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ExistSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EXIST_SYMBOL;
39 }
40
41} //ExistSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
index cb1a3ff4..f83c1cb3 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -11,41 +11,41 @@ import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; 14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; 15import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17 17
18/** 18/**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Boolean Object</b></em>'. 20 * An implementation of the model object '<em><b>Expression Argument</b></em>'.
21 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
22 * <p> 22 * <p>
23 * The following features are implemented: 23 * The following features are implemented:
24 * </p> 24 * </p>
25 * <ul> 25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl#getValue <em>Value</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl#getBody <em>Body</em>}</li>
27 * </ul> 27 * </ul>
28 * 28 *
29 * @generated 29 * @generated
30 */ 30 */
31public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject 31public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument
32{ 32{
33 /** 33 /**
34 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference. 34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc --> 35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc --> 36 * <!-- end-user-doc -->
37 * @see #getValue() 37 * @see #getBody()
38 * @generated 38 * @generated
39 * @ordered 39 * @ordered
40 */ 40 */
41 protected BooleanValue value; 41 protected Expression body;
42 42
43 /** 43 /**
44 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
46 * @generated 46 * @generated
47 */ 47 */
48 protected BooleanObjectImpl() 48 protected ExpressionArgumentImpl()
49 { 49 {
50 super(); 50 super();
51 } 51 }
@@ -58,7 +58,7 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
58 @Override 58 @Override
59 protected EClass eStaticClass() 59 protected EClass eStaticClass()
60 { 60 {
61 return SolverLanguagePackage.Literals.BOOLEAN_OBJECT; 61 return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT;
62 } 62 }
63 63
64 /** 64 /**
@@ -67,9 +67,9 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
67 * @generated 67 * @generated
68 */ 68 */
69 @Override 69 @Override
70 public BooleanValue getValue() 70 public Expression getBody()
71 { 71 {
72 return value; 72 return body;
73 } 73 }
74 74
75 /** 75 /**
@@ -77,13 +77,13 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
77 * <!-- end-user-doc --> 77 * <!-- end-user-doc -->
78 * @generated 78 * @generated
79 */ 79 */
80 public NotificationChain basicSetValue(BooleanValue newValue, NotificationChain msgs) 80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 { 81 {
82 BooleanValue oldValue = value; 82 Expression oldBody = body;
83 value = newValue; 83 body = newBody;
84 if (eNotificationRequired()) 84 if (eNotificationRequired())
85 { 85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, oldValue, newValue); 86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification); 87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 } 88 }
89 return msgs; 89 return msgs;
@@ -95,20 +95,20 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
95 * @generated 95 * @generated
96 */ 96 */
97 @Override 97 @Override
98 public void setValue(BooleanValue newValue) 98 public void setBody(Expression newBody)
99 { 99 {
100 if (newValue != value) 100 if (newBody != body)
101 { 101 {
102 NotificationChain msgs = null; 102 NotificationChain msgs = null;
103 if (value != null) 103 if (body != null)
104 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs); 104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
105 if (newValue != null) 105 if (newBody != null)
106 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs); 106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
107 msgs = basicSetValue(newValue, msgs); 107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch(); 108 if (msgs != null) msgs.dispatch();
109 } 109 }
110 else if (eNotificationRequired()) 110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, newValue, newValue)); 111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, newBody, newBody));
112 } 112 }
113 113
114 /** 114 /**
@@ -121,8 +121,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 124 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
125 return basicSetValue(null, msgs); 125 return basicSetBody(null, msgs);
126 } 126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs); 127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 } 128 }
@@ -137,8 +137,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
137 { 137 {
138 switch (featureID) 138 switch (featureID)
139 { 139 {
140 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 140 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
141 return getValue(); 141 return getBody();
142 } 142 }
143 return super.eGet(featureID, resolve, coreType); 143 return super.eGet(featureID, resolve, coreType);
144 } 144 }
@@ -153,8 +153,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 156 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
157 setValue((BooleanValue)newValue); 157 setBody((Expression)newValue);
158 return; 158 return;
159 } 159 }
160 super.eSet(featureID, newValue); 160 super.eSet(featureID, newValue);
@@ -170,8 +170,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
170 { 170 {
171 switch (featureID) 171 switch (featureID)
172 { 172 {
173 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 173 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
174 setValue((BooleanValue)null); 174 setBody((Expression)null);
175 return; 175 return;
176 } 176 }
177 super.eUnset(featureID); 177 super.eUnset(featureID);
@@ -187,10 +187,10 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
187 { 187 {
188 switch (featureID) 188 switch (featureID)
189 { 189 {
190 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 190 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
191 return value != null; 191 return body != null;
192 } 192 }
193 return super.eIsSet(featureID); 193 return super.eIsSet(featureID);
194 } 194 }
195 195
196} //BooleanObjectImpl 196} //ExpressionArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
index 332f9af3..585e3c41 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.False; 8import org.eclipse.viatra.solver.language.solverLanguage.Expression;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>False</b></em>'. 13 * An implementation of the model object '<em><b>Expression</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class FalseImpl extends TruthValueImpl implements False 18public class ExpressionImpl extends StatementImpl implements Expression
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected FalseImpl() 25 protected ExpressionImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class FalseImpl extends TruthValueImpl implements False
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.FALSE; 38 return SolverLanguagePackage.Literals.EXPRESSION;
39 } 39 }
40 40
41} //FalseImpl 41} //ExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
new file mode 100644
index 00000000..e324c38a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
@@ -0,0 +1,270 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Extern Metric Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getType <em>Type</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getHead <em>Head</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ExternMetricDefinitionImpl extends StatementImpl implements ExternMetricDefinition
34{
35 /**
36 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getType()
40 * @generated
41 * @ordered
42 */
43 protected static final MetricType TYPE_EDEFAULT = MetricType.INT;
44
45 /**
46 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getType()
50 * @generated
51 * @ordered
52 */
53 protected MetricType type = TYPE_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getHead()
60 * @generated
61 * @ordered
62 */
63 protected Call head;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected ExternMetricDefinitionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public MetricType getType()
93 {
94 return type;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setType(MetricType newType)
104 {
105 MetricType oldType = type;
106 type = newType == null ? TYPE_EDEFAULT : newType;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Call getHead()
118 {
119 return head;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
128 {
129 Call oldHead = head;
130 head = newHead;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, oldHead, newHead);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setHead(Call newHead)
146 {
147 if (newHead != head)
148 {
149 NotificationChain msgs = null;
150 if (head != null)
151 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs);
152 if (newHead != null)
153 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs);
154 msgs = basicSetHead(newHead, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, newHead, newHead));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
172 return basicSetHead(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
188 return getType();
189 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
190 return getHead();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
206 setType((MetricType)newValue);
207 return;
208 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
209 setHead((Call)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
226 setType(TYPE_EDEFAULT);
227 return;
228 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
229 setHead((Call)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
246 return type != TYPE_EDEFAULT;
247 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
248 return head != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (type: ");
265 result.append(type);
266 result.append(')');
267 return result.toString();
268 }
269
270} //ExternMetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
index eb2835a0..0605cb0f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -11,41 +11,41 @@ import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; 14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 15import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17 17
18/** 18/**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Default Interpretation</b></em>'. 20 * An implementation of the model object '<em><b>Extern Predicate Definition</b></em>'.
21 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
22 * <p> 22 * <p>
23 * The following features are implemented: 23 * The following features are implemented:
24 * </p> 24 * </p>
25 * <ul> 25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl#getInterpretation <em>Interpretation</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getHead <em>Head</em>}</li>
27 * </ul> 27 * </ul>
28 * 28 *
29 * @generated 29 * @generated
30 */ 30 */
31public class DefaultInterpretationImpl extends InterpretationImpl implements DefaultInterpretation 31public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition
32{ 32{
33 /** 33 /**
34 * The cached value of the '{@link #getInterpretation() <em>Interpretation</em>}' containment reference. 34 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
35 * <!-- begin-user-doc --> 35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc --> 36 * <!-- end-user-doc -->
37 * @see #getInterpretation() 37 * @see #getHead()
38 * @generated 38 * @generated
39 * @ordered 39 * @ordered
40 */ 40 */
41 protected BasicInterpretation interpretation; 41 protected Call head;
42 42
43 /** 43 /**
44 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
46 * @generated 46 * @generated
47 */ 47 */
48 protected DefaultInterpretationImpl() 48 protected ExternPredicateDefinitionImpl()
49 { 49 {
50 super(); 50 super();
51 } 51 }
@@ -58,7 +58,7 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
58 @Override 58 @Override
59 protected EClass eStaticClass() 59 protected EClass eStaticClass()
60 { 60 {
61 return SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION; 61 return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION;
62 } 62 }
63 63
64 /** 64 /**
@@ -67,9 +67,9 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
67 * @generated 67 * @generated
68 */ 68 */
69 @Override 69 @Override
70 public BasicInterpretation getInterpretation() 70 public Call getHead()
71 { 71 {
72 return interpretation; 72 return head;
73 } 73 }
74 74
75 /** 75 /**
@@ -77,13 +77,13 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
77 * <!-- end-user-doc --> 77 * <!-- end-user-doc -->
78 * @generated 78 * @generated
79 */ 79 */
80 public NotificationChain basicSetInterpretation(BasicInterpretation newInterpretation, NotificationChain msgs) 80 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
81 { 81 {
82 BasicInterpretation oldInterpretation = interpretation; 82 Call oldHead = head;
83 interpretation = newInterpretation; 83 head = newHead;
84 if (eNotificationRequired()) 84 if (eNotificationRequired())
85 { 85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, oldInterpretation, newInterpretation); 86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, oldHead, newHead);
87 if (msgs == null) msgs = notification; else msgs.add(notification); 87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 } 88 }
89 return msgs; 89 return msgs;
@@ -95,20 +95,20 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
95 * @generated 95 * @generated
96 */ 96 */
97 @Override 97 @Override
98 public void setInterpretation(BasicInterpretation newInterpretation) 98 public void setHead(Call newHead)
99 { 99 {
100 if (newInterpretation != interpretation) 100 if (newHead != head)
101 { 101 {
102 NotificationChain msgs = null; 102 NotificationChain msgs = null;
103 if (interpretation != null) 103 if (head != null)
104 msgs = ((InternalEObject)interpretation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs); 104 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
105 if (newInterpretation != null) 105 if (newHead != null)
106 msgs = ((InternalEObject)newInterpretation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs); 106 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
107 msgs = basicSetInterpretation(newInterpretation, msgs); 107 msgs = basicSetHead(newHead, msgs);
108 if (msgs != null) msgs.dispatch(); 108 if (msgs != null) msgs.dispatch();
109 } 109 }
110 else if (eNotificationRequired()) 110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, newInterpretation, newInterpretation)); 111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, newHead, newHead));
112 } 112 }
113 113
114 /** 114 /**
@@ -121,8 +121,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 124 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
125 return basicSetInterpretation(null, msgs); 125 return basicSetHead(null, msgs);
126 } 126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs); 127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 } 128 }
@@ -137,8 +137,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
137 { 137 {
138 switch (featureID) 138 switch (featureID)
139 { 139 {
140 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 140 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
141 return getInterpretation(); 141 return getHead();
142 } 142 }
143 return super.eGet(featureID, resolve, coreType); 143 return super.eGet(featureID, resolve, coreType);
144 } 144 }
@@ -153,8 +153,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 156 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
157 setInterpretation((BasicInterpretation)newValue); 157 setHead((Call)newValue);
158 return; 158 return;
159 } 159 }
160 super.eSet(featureID, newValue); 160 super.eSet(featureID, newValue);
@@ -170,8 +170,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
170 { 170 {
171 switch (featureID) 171 switch (featureID)
172 { 172 {
173 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 173 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
174 setInterpretation((BasicInterpretation)null); 174 setHead((Call)null);
175 return; 175 return;
176 } 176 }
177 super.eUnset(featureID); 177 super.eUnset(featureID);
@@ -187,10 +187,10 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
187 { 187 {
188 switch (featureID) 188 switch (featureID)
189 { 189 {
190 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 190 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
191 return interpretation != null; 191 return head != null;
192 } 192 }
193 return super.eIsSet(featureID); 193 return super.eIsSet(featureID);
194 } 194 }
195 195
196} //DefaultInterpretationImpl 196} //ExternPredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java
deleted file mode 100644
index ea9b80b2..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java
+++ /dev/null
@@ -1,418 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
17import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Field Relation Interpretation</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#isContainment <em>Containment</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getSymbol <em>Symbol</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getMultiplicity <em>Multiplicity</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getTarget <em>Target</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class FieldRelationInterpretationImpl extends MinimalEObjectImpl.Container implements FieldRelationInterpretation
38{
39 /**
40 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #isContainment()
44 * @generated
45 * @ordered
46 */
47 protected static final boolean CONTAINMENT_EDEFAULT = false;
48
49 /**
50 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #isContainment()
54 * @generated
55 * @ordered
56 */
57 protected boolean containment = CONTAINMENT_EDEFAULT;
58
59 /**
60 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getSymbol()
64 * @generated
65 * @ordered
66 */
67 protected ModelSymbol symbol;
68
69 /**
70 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #getMultiplicity()
74 * @generated
75 * @ordered
76 */
77 protected MultiplicityDefinition multiplicity;
78
79 /**
80 * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #getTarget()
84 * @generated
85 * @ordered
86 */
87 protected Symbol target;
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 protected FieldRelationInterpretationImpl()
95 {
96 super();
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 protected EClass eStaticClass()
106 {
107 return SolverLanguagePackage.Literals.FIELD_RELATION_INTERPRETATION;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public boolean isContainment()
117 {
118 return containment;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void setContainment(boolean newContainment)
128 {
129 boolean oldContainment = containment;
130 containment = newContainment;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public ModelSymbol getSymbol()
142 {
143 return symbol;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
152 {
153 ModelSymbol oldSymbol = symbol;
154 symbol = newSymbol;
155 if (eNotificationRequired())
156 {
157 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
158 if (msgs == null) msgs = notification; else msgs.add(notification);
159 }
160 return msgs;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void setSymbol(ModelSymbol newSymbol)
170 {
171 if (newSymbol != symbol)
172 {
173 NotificationChain msgs = null;
174 if (symbol != null)
175 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs);
176 if (newSymbol != null)
177 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs);
178 msgs = basicSetSymbol(newSymbol, msgs);
179 if (msgs != null) msgs.dispatch();
180 }
181 else if (eNotificationRequired())
182 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public MultiplicityDefinition getMultiplicity()
192 {
193 return multiplicity;
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 public NotificationChain basicSetMultiplicity(MultiplicityDefinition newMultiplicity, NotificationChain msgs)
202 {
203 MultiplicityDefinition oldMultiplicity = multiplicity;
204 multiplicity = newMultiplicity;
205 if (eNotificationRequired())
206 {
207 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
208 if (msgs == null) msgs = notification; else msgs.add(notification);
209 }
210 return msgs;
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void setMultiplicity(MultiplicityDefinition newMultiplicity)
220 {
221 if (newMultiplicity != multiplicity)
222 {
223 NotificationChain msgs = null;
224 if (multiplicity != null)
225 msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, null, msgs);
226 if (newMultiplicity != null)
227 msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, null, msgs);
228 msgs = basicSetMultiplicity(newMultiplicity, msgs);
229 if (msgs != null) msgs.dispatch();
230 }
231 else if (eNotificationRequired())
232 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, newMultiplicity, newMultiplicity));
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public Symbol getTarget()
242 {
243 return target;
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs)
252 {
253 Symbol oldTarget = target;
254 target = newTarget;
255 if (eNotificationRequired())
256 {
257 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget);
258 if (msgs == null) msgs = notification; else msgs.add(notification);
259 }
260 return msgs;
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @Override
269 public void setTarget(Symbol newTarget)
270 {
271 if (newTarget != target)
272 {
273 NotificationChain msgs = null;
274 if (target != null)
275 msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs);
276 if (newTarget != null)
277 msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs);
278 msgs = basicSetTarget(newTarget, msgs);
279 if (msgs != null) msgs.dispatch();
280 }
281 else if (eNotificationRequired())
282 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, newTarget, newTarget));
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
292 {
293 switch (featureID)
294 {
295 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
296 return basicSetSymbol(null, msgs);
297 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
298 return basicSetMultiplicity(null, msgs);
299 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
300 return basicSetTarget(null, msgs);
301 }
302 return super.eInverseRemove(otherEnd, featureID, msgs);
303 }
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 @Override
311 public Object eGet(int featureID, boolean resolve, boolean coreType)
312 {
313 switch (featureID)
314 {
315 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
316 return isContainment();
317 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
318 return getSymbol();
319 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
320 return getMultiplicity();
321 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
322 return getTarget();
323 }
324 return super.eGet(featureID, resolve, coreType);
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 @Override
333 public void eSet(int featureID, Object newValue)
334 {
335 switch (featureID)
336 {
337 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
338 setContainment((Boolean)newValue);
339 return;
340 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
341 setSymbol((ModelSymbol)newValue);
342 return;
343 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
344 setMultiplicity((MultiplicityDefinition)newValue);
345 return;
346 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
347 setTarget((Symbol)newValue);
348 return;
349 }
350 super.eSet(featureID, newValue);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 @Override
359 public void eUnset(int featureID)
360 {
361 switch (featureID)
362 {
363 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
364 setContainment(CONTAINMENT_EDEFAULT);
365 return;
366 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
367 setSymbol((ModelSymbol)null);
368 return;
369 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
370 setMultiplicity((MultiplicityDefinition)null);
371 return;
372 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
373 setTarget((Symbol)null);
374 return;
375 }
376 super.eUnset(featureID);
377 }
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 @Override
385 public boolean eIsSet(int featureID)
386 {
387 switch (featureID)
388 {
389 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
390 return containment != CONTAINMENT_EDEFAULT;
391 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
392 return symbol != null;
393 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
394 return multiplicity != null;
395 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
396 return target != null;
397 }
398 return super.eIsSet(featureID);
399 }
400
401 /**
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 */
406 @Override
407 public String toString()
408 {
409 if (eIsProxy()) return super.toString();
410
411 StringBuilder result = new StringBuilder(super.toString());
412 result.append(" (containment: ");
413 result.append(containment);
414 result.append(')');
415 return result.toString();
416 }
417
418} //FieldRelationInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java
deleted file mode 100644
index 52f7a67d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java
+++ /dev/null
@@ -1,563 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
15import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
16import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Global Relation Interpretation</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#isContainment <em>Containment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSymbol <em>Symbol</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSourceMultiplicity <em>Source Multiplicity</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSource <em>Source</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTargetMultiplicity <em>Target Multiplicity</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTarget <em>Target</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class GlobalRelationInterpretationImpl extends CDInterpretationImpl implements GlobalRelationInterpretation
39{
40 /**
41 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #isContainment()
45 * @generated
46 * @ordered
47 */
48 protected static final boolean CONTAINMENT_EDEFAULT = false;
49
50 /**
51 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isContainment()
55 * @generated
56 * @ordered
57 */
58 protected boolean containment = CONTAINMENT_EDEFAULT;
59
60 /**
61 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getSymbol()
65 * @generated
66 * @ordered
67 */
68 protected ModelSymbol symbol;
69
70 /**
71 * The cached value of the '{@link #getSourceMultiplicity() <em>Source Multiplicity</em>}' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #getSourceMultiplicity()
75 * @generated
76 * @ordered
77 */
78 protected MultiplicityDefinition sourceMultiplicity;
79
80 /**
81 * The cached value of the '{@link #getSource() <em>Source</em>}' containment reference.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @see #getSource()
85 * @generated
86 * @ordered
87 */
88 protected Symbol source;
89
90 /**
91 * The cached value of the '{@link #getTargetMultiplicity() <em>Target Multiplicity</em>}' containment reference.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @see #getTargetMultiplicity()
95 * @generated
96 * @ordered
97 */
98 protected MultiplicityDefinition targetMultiplicity;
99
100 /**
101 * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @see #getTarget()
105 * @generated
106 * @ordered
107 */
108 protected Symbol target;
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 protected GlobalRelationInterpretationImpl()
116 {
117 super();
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 protected EClass eStaticClass()
127 {
128 return SolverLanguagePackage.Literals.GLOBAL_RELATION_INTERPRETATION;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public boolean isContainment()
138 {
139 return containment;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setContainment(boolean newContainment)
149 {
150 boolean oldContainment = containment;
151 containment = newContainment;
152 if (eNotificationRequired())
153 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment));
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public ModelSymbol getSymbol()
163 {
164 return symbol;
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
173 {
174 ModelSymbol oldSymbol = symbol;
175 symbol = newSymbol;
176 if (eNotificationRequired())
177 {
178 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
179 if (msgs == null) msgs = notification; else msgs.add(notification);
180 }
181 return msgs;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void setSymbol(ModelSymbol newSymbol)
191 {
192 if (newSymbol != symbol)
193 {
194 NotificationChain msgs = null;
195 if (symbol != null)
196 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs);
197 if (newSymbol != null)
198 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs);
199 msgs = basicSetSymbol(newSymbol, msgs);
200 if (msgs != null) msgs.dispatch();
201 }
202 else if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public MultiplicityDefinition getSourceMultiplicity()
213 {
214 return sourceMultiplicity;
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 public NotificationChain basicSetSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity, NotificationChain msgs)
223 {
224 MultiplicityDefinition oldSourceMultiplicity = sourceMultiplicity;
225 sourceMultiplicity = newSourceMultiplicity;
226 if (eNotificationRequired())
227 {
228 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, oldSourceMultiplicity, newSourceMultiplicity);
229 if (msgs == null) msgs = notification; else msgs.add(notification);
230 }
231 return msgs;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public void setSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity)
241 {
242 if (newSourceMultiplicity != sourceMultiplicity)
243 {
244 NotificationChain msgs = null;
245 if (sourceMultiplicity != null)
246 msgs = ((InternalEObject)sourceMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs);
247 if (newSourceMultiplicity != null)
248 msgs = ((InternalEObject)newSourceMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs);
249 msgs = basicSetSourceMultiplicity(newSourceMultiplicity, msgs);
250 if (msgs != null) msgs.dispatch();
251 }
252 else if (eNotificationRequired())
253 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, newSourceMultiplicity, newSourceMultiplicity));
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public Symbol getSource()
263 {
264 return source;
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 public NotificationChain basicSetSource(Symbol newSource, NotificationChain msgs)
273 {
274 Symbol oldSource = source;
275 source = newSource;
276 if (eNotificationRequired())
277 {
278 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, oldSource, newSource);
279 if (msgs == null) msgs = notification; else msgs.add(notification);
280 }
281 return msgs;
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 @Override
290 public void setSource(Symbol newSource)
291 {
292 if (newSource != source)
293 {
294 NotificationChain msgs = null;
295 if (source != null)
296 msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs);
297 if (newSource != null)
298 msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs);
299 msgs = basicSetSource(newSource, msgs);
300 if (msgs != null) msgs.dispatch();
301 }
302 else if (eNotificationRequired())
303 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, newSource, newSource));
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public MultiplicityDefinition getTargetMultiplicity()
313 {
314 return targetMultiplicity;
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 public NotificationChain basicSetTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity, NotificationChain msgs)
323 {
324 MultiplicityDefinition oldTargetMultiplicity = targetMultiplicity;
325 targetMultiplicity = newTargetMultiplicity;
326 if (eNotificationRequired())
327 {
328 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, oldTargetMultiplicity, newTargetMultiplicity);
329 if (msgs == null) msgs = notification; else msgs.add(notification);
330 }
331 return msgs;
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public void setTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity)
341 {
342 if (newTargetMultiplicity != targetMultiplicity)
343 {
344 NotificationChain msgs = null;
345 if (targetMultiplicity != null)
346 msgs = ((InternalEObject)targetMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs);
347 if (newTargetMultiplicity != null)
348 msgs = ((InternalEObject)newTargetMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs);
349 msgs = basicSetTargetMultiplicity(newTargetMultiplicity, msgs);
350 if (msgs != null) msgs.dispatch();
351 }
352 else if (eNotificationRequired())
353 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, newTargetMultiplicity, newTargetMultiplicity));
354 }
355
356 /**
357 * <!-- begin-user-doc -->
358 * <!-- end-user-doc -->
359 * @generated
360 */
361 @Override
362 public Symbol getTarget()
363 {
364 return target;
365 }
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs)
373 {
374 Symbol oldTarget = target;
375 target = newTarget;
376 if (eNotificationRequired())
377 {
378 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget);
379 if (msgs == null) msgs = notification; else msgs.add(notification);
380 }
381 return msgs;
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 @Override
390 public void setTarget(Symbol newTarget)
391 {
392 if (newTarget != target)
393 {
394 NotificationChain msgs = null;
395 if (target != null)
396 msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs);
397 if (newTarget != null)
398 msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs);
399 msgs = basicSetTarget(newTarget, msgs);
400 if (msgs != null) msgs.dispatch();
401 }
402 else if (eNotificationRequired())
403 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, newTarget, newTarget));
404 }
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 @Override
412 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
413 {
414 switch (featureID)
415 {
416 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
417 return basicSetSymbol(null, msgs);
418 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
419 return basicSetSourceMultiplicity(null, msgs);
420 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
421 return basicSetSource(null, msgs);
422 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
423 return basicSetTargetMultiplicity(null, msgs);
424 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
425 return basicSetTarget(null, msgs);
426 }
427 return super.eInverseRemove(otherEnd, featureID, msgs);
428 }
429
430 /**
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 @Override
436 public Object eGet(int featureID, boolean resolve, boolean coreType)
437 {
438 switch (featureID)
439 {
440 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
441 return isContainment();
442 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
443 return getSymbol();
444 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
445 return getSourceMultiplicity();
446 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
447 return getSource();
448 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
449 return getTargetMultiplicity();
450 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
451 return getTarget();
452 }
453 return super.eGet(featureID, resolve, coreType);
454 }
455
456 /**
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 */
461 @Override
462 public void eSet(int featureID, Object newValue)
463 {
464 switch (featureID)
465 {
466 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
467 setContainment((Boolean)newValue);
468 return;
469 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
470 setSymbol((ModelSymbol)newValue);
471 return;
472 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
473 setSourceMultiplicity((MultiplicityDefinition)newValue);
474 return;
475 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
476 setSource((Symbol)newValue);
477 return;
478 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
479 setTargetMultiplicity((MultiplicityDefinition)newValue);
480 return;
481 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
482 setTarget((Symbol)newValue);
483 return;
484 }
485 super.eSet(featureID, newValue);
486 }
487
488 /**
489 * <!-- begin-user-doc -->
490 * <!-- end-user-doc -->
491 * @generated
492 */
493 @Override
494 public void eUnset(int featureID)
495 {
496 switch (featureID)
497 {
498 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
499 setContainment(CONTAINMENT_EDEFAULT);
500 return;
501 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
502 setSymbol((ModelSymbol)null);
503 return;
504 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
505 setSourceMultiplicity((MultiplicityDefinition)null);
506 return;
507 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
508 setSource((Symbol)null);
509 return;
510 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
511 setTargetMultiplicity((MultiplicityDefinition)null);
512 return;
513 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
514 setTarget((Symbol)null);
515 return;
516 }
517 super.eUnset(featureID);
518 }
519
520 /**
521 * <!-- begin-user-doc -->
522 * <!-- end-user-doc -->
523 * @generated
524 */
525 @Override
526 public boolean eIsSet(int featureID)
527 {
528 switch (featureID)
529 {
530 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
531 return containment != CONTAINMENT_EDEFAULT;
532 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
533 return symbol != null;
534 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
535 return sourceMultiplicity != null;
536 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
537 return source != null;
538 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
539 return targetMultiplicity != null;
540 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
541 return target != null;
542 }
543 return super.eIsSet(featureID);
544 }
545
546 /**
547 * <!-- begin-user-doc -->
548 * <!-- end-user-doc -->
549 * @generated
550 */
551 @Override
552 public String toString()
553 {
554 if (eIsProxy()) return super.toString();
555
556 StringBuilder result = new StringBuilder(super.toString());
557 result.append(" (containment: ");
558 result.append(containment);
559 result.append(')');
560 return result.toString();
561 }
562
563} //GlobalRelationInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
new file mode 100644
index 00000000..1b873568
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
@@ -0,0 +1,342 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>If Else</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getCondition <em>Condition</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getThen <em>Then</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getElse <em>Else</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class IfElseImpl extends ExpressionImpl implements IfElse
34{
35 /**
36 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getCondition()
40 * @generated
41 * @ordered
42 */
43 protected Expression condition;
44
45 /**
46 * The cached value of the '{@link #getThen() <em>Then</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getThen()
50 * @generated
51 * @ordered
52 */
53 protected Expression then;
54
55 /**
56 * The cached value of the '{@link #getElse() <em>Else</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getElse()
60 * @generated
61 * @ordered
62 */
63 protected Expression else_;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected IfElseImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.IF_ELSE;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public Expression getCondition()
93 {
94 return condition;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
103 {
104 Expression oldCondition = condition;
105 condition = newCondition;
106 if (eNotificationRequired())
107 {
108 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, oldCondition, newCondition);
109 if (msgs == null) msgs = notification; else msgs.add(notification);
110 }
111 return msgs;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void setCondition(Expression newCondition)
121 {
122 if (newCondition != condition)
123 {
124 NotificationChain msgs = null;
125 if (condition != null)
126 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
127 if (newCondition != null)
128 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
129 msgs = basicSetCondition(newCondition, msgs);
130 if (msgs != null) msgs.dispatch();
131 }
132 else if (eNotificationRequired())
133 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, newCondition, newCondition));
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public Expression getThen()
143 {
144 return then;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs)
153 {
154 Expression oldThen = then;
155 then = newThen;
156 if (eNotificationRequired())
157 {
158 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, oldThen, newThen);
159 if (msgs == null) msgs = notification; else msgs.add(notification);
160 }
161 return msgs;
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public void setThen(Expression newThen)
171 {
172 if (newThen != then)
173 {
174 NotificationChain msgs = null;
175 if (then != null)
176 msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
177 if (newThen != null)
178 msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
179 msgs = basicSetThen(newThen, msgs);
180 if (msgs != null) msgs.dispatch();
181 }
182 else if (eNotificationRequired())
183 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, newThen, newThen));
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public Expression getElse()
193 {
194 return else_;
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs)
203 {
204 Expression oldElse = else_;
205 else_ = newElse;
206 if (eNotificationRequired())
207 {
208 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, oldElse, newElse);
209 if (msgs == null) msgs = notification; else msgs.add(notification);
210 }
211 return msgs;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public void setElse(Expression newElse)
221 {
222 if (newElse != else_)
223 {
224 NotificationChain msgs = null;
225 if (else_ != null)
226 msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
227 if (newElse != null)
228 msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
229 msgs = basicSetElse(newElse, msgs);
230 if (msgs != null) msgs.dispatch();
231 }
232 else if (eNotificationRequired())
233 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, newElse, newElse));
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
243 {
244 switch (featureID)
245 {
246 case SolverLanguagePackage.IF_ELSE__CONDITION:
247 return basicSetCondition(null, msgs);
248 case SolverLanguagePackage.IF_ELSE__THEN:
249 return basicSetThen(null, msgs);
250 case SolverLanguagePackage.IF_ELSE__ELSE:
251 return basicSetElse(null, msgs);
252 }
253 return super.eInverseRemove(otherEnd, featureID, msgs);
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public Object eGet(int featureID, boolean resolve, boolean coreType)
263 {
264 switch (featureID)
265 {
266 case SolverLanguagePackage.IF_ELSE__CONDITION:
267 return getCondition();
268 case SolverLanguagePackage.IF_ELSE__THEN:
269 return getThen();
270 case SolverLanguagePackage.IF_ELSE__ELSE:
271 return getElse();
272 }
273 return super.eGet(featureID, resolve, coreType);
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 @Override
282 public void eSet(int featureID, Object newValue)
283 {
284 switch (featureID)
285 {
286 case SolverLanguagePackage.IF_ELSE__CONDITION:
287 setCondition((Expression)newValue);
288 return;
289 case SolverLanguagePackage.IF_ELSE__THEN:
290 setThen((Expression)newValue);
291 return;
292 case SolverLanguagePackage.IF_ELSE__ELSE:
293 setElse((Expression)newValue);
294 return;
295 }
296 super.eSet(featureID, newValue);
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 @Override
305 public void eUnset(int featureID)
306 {
307 switch (featureID)
308 {
309 case SolverLanguagePackage.IF_ELSE__CONDITION:
310 setCondition((Expression)null);
311 return;
312 case SolverLanguagePackage.IF_ELSE__THEN:
313 setThen((Expression)null);
314 return;
315 case SolverLanguagePackage.IF_ELSE__ELSE:
316 setElse((Expression)null);
317 return;
318 }
319 super.eUnset(featureID);
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public boolean eIsSet(int featureID)
329 {
330 switch (featureID)
331 {
332 case SolverLanguagePackage.IF_ELSE__CONDITION:
333 return condition != null;
334 case SolverLanguagePackage.IF_ELSE__THEN:
335 return then != null;
336 case SolverLanguagePackage.IF_ELSE__ELSE:
337 return else_ != null;
338 }
339 return super.eIsSet(featureID);
340 }
341
342} //IfElseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
index 4d110ee9..e796f5a0 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; 8import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean True</b></em>'. 13 * An implementation of the model object '<em><b>Infinity Literal</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class BooleanTrueImpl extends BooleanValueImpl implements BooleanTrue 18public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected BooleanTrueImpl() 25 protected InfinityLiteralImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class BooleanTrueImpl extends BooleanValueImpl implements BooleanTrue
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_TRUE; 38 return SolverLanguagePackage.Literals.INFINITY_LITERAL;
39 } 39 }
40 40
41} //BooleanTrueImpl 41} //InfinityLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java
deleted file mode 100644
index bcd978fa..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Integer Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class IntegerSymbolImpl extends DataSymbolImpl implements IntegerSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected IntegerSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.INTEGER_SYMBOL;
39 }
40
41} //IntegerSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
deleted file mode 100644
index fb41d77d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Interpretation</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class InterpretationImpl extends StatementImpl implements Interpretation
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected InterpretationImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.INTERPRETATION;
39 }
40
41} //InterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
new file mode 100644
index 00000000..e6107ef8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
@@ -0,0 +1,269 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.Interval;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Interval</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getLowerBound <em>Lower Bound</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getUpperBound <em>Upper Bound</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class IntervalImpl extends ExpressionImpl implements Interval
33{
34 /**
35 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLowerBound()
39 * @generated
40 * @ordered
41 */
42 protected Expression lowerBound;
43
44 /**
45 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getUpperBound()
49 * @generated
50 * @ordered
51 */
52 protected Expression upperBound;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected IntervalImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.INTERVAL;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getLowerBound()
82 {
83 return lowerBound;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetLowerBound(Expression newLowerBound, NotificationChain msgs)
92 {
93 Expression oldLowerBound = lowerBound;
94 lowerBound = newLowerBound;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, oldLowerBound, newLowerBound);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(Expression newLowerBound)
110 {
111 if (newLowerBound != lowerBound)
112 {
113 NotificationChain msgs = null;
114 if (lowerBound != null)
115 msgs = ((InternalEObject)lowerBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
116 if (newLowerBound != null)
117 msgs = ((InternalEObject)newLowerBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
118 msgs = basicSetLowerBound(newLowerBound, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, newLowerBound, newLowerBound));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getUpperBound()
132 {
133 return upperBound;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetUpperBound(Expression newUpperBound, NotificationChain msgs)
142 {
143 Expression oldUpperBound = upperBound;
144 upperBound = newUpperBound;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, oldUpperBound, newUpperBound);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setUpperBound(Expression newUpperBound)
160 {
161 if (newUpperBound != upperBound)
162 {
163 NotificationChain msgs = null;
164 if (upperBound != null)
165 msgs = ((InternalEObject)upperBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
166 if (newUpperBound != null)
167 msgs = ((InternalEObject)newUpperBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
168 msgs = basicSetUpperBound(newUpperBound, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, newUpperBound, newUpperBound));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
186 return basicSetLowerBound(null, msgs);
187 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
188 return basicSetUpperBound(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
204 return getLowerBound();
205 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
206 return getUpperBound();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
222 setLowerBound((Expression)newValue);
223 return;
224 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
225 setUpperBound((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
242 setLowerBound((Expression)null);
243 return;
244 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
245 setUpperBound((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
262 return lowerBound != null;
263 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
264 return upperBound != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //IntervalImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java
deleted file mode 100644
index 07ad66f9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Irreflexive Closure</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class IrreflexiveClosureImpl extends ClosureTypeImpl implements IrreflexiveClosure
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected IrreflexiveClosureImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.IRREFLEXIVE_CLOSURE;
39 }
40
41} //IrreflexiveClosureImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
index 518aa2b7..2983566c 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
@@ -1,12 +1,10 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.Literal; 8import org.eclipse.viatra.solver.language.solverLanguage.Literal;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12 10
@@ -17,7 +15,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17 * 15 *
18 * @generated 16 * @generated
19 */ 17 */
20public class LiteralImpl extends MinimalEObjectImpl.Container implements Literal 18public class LiteralImpl extends ExpressionImpl implements Literal
21{ 19{
22 /** 20 /**
23 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
index fa844b68..2bc27a20 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -9,23 +9,24 @@ import org.eclipse.emf.ecore.EClass;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11 11
12import org.eclipse.viatra.solver.language.solverLanguage.IntObject; 12import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
13import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14 15
15/** 16/**
16 * <!-- begin-user-doc --> 17 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Int Object</b></em>'. 18 * An implementation of the model object '<em><b>Logic Literal</b></em>'.
18 * <!-- end-user-doc --> 19 * <!-- end-user-doc -->
19 * <p> 20 * <p>
20 * The following features are implemented: 21 * The following features are implemented:
21 * </p> 22 * </p>
22 * <ul> 23 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl#getValue <em>Value</em>}</li> 24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl#getValue <em>Value</em>}</li>
24 * </ul> 25 * </ul>
25 * 26 *
26 * @generated 27 * @generated
27 */ 28 */
28public class IntObjectImpl extends DataObjectImpl implements IntObject 29public class LogicLiteralImpl extends LiteralImpl implements LogicLiteral
29{ 30{
30 /** 31 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 32 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -35,7 +36,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
35 * @generated 36 * @generated
36 * @ordered 37 * @ordered
37 */ 38 */
38 protected static final int VALUE_EDEFAULT = 0; 39 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
39 40
40 /** 41 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. 42 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -45,14 +46,14 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
45 * @generated 46 * @generated
46 * @ordered 47 * @ordered
47 */ 48 */
48 protected int value = VALUE_EDEFAULT; 49 protected LogicValue value = VALUE_EDEFAULT;
49 50
50 /** 51 /**
51 * <!-- begin-user-doc --> 52 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
53 * @generated 54 * @generated
54 */ 55 */
55 protected IntObjectImpl() 56 protected LogicLiteralImpl()
56 { 57 {
57 super(); 58 super();
58 } 59 }
@@ -65,7 +66,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
65 @Override 66 @Override
66 protected EClass eStaticClass() 67 protected EClass eStaticClass()
67 { 68 {
68 return SolverLanguagePackage.Literals.INT_OBJECT; 69 return SolverLanguagePackage.Literals.LOGIC_LITERAL;
69 } 70 }
70 71
71 /** 72 /**
@@ -74,7 +75,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
74 * @generated 75 * @generated
75 */ 76 */
76 @Override 77 @Override
77 public int getValue() 78 public LogicValue getValue()
78 { 79 {
79 return value; 80 return value;
80 } 81 }
@@ -85,12 +86,12 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
85 * @generated 86 * @generated
86 */ 87 */
87 @Override 88 @Override
88 public void setValue(int newValue) 89 public void setValue(LogicValue newValue)
89 { 90 {
90 int oldValue = value; 91 LogicValue oldValue = value;
91 value = newValue; 92 value = newValue == null ? VALUE_EDEFAULT : newValue;
92 if (eNotificationRequired()) 93 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INT_OBJECT__VALUE, oldValue, value)); 94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue, value));
94 } 95 }
95 96
96 /** 97 /**
@@ -103,7 +104,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
103 { 104 {
104 switch (featureID) 105 switch (featureID)
105 { 106 {
106 case SolverLanguagePackage.INT_OBJECT__VALUE: 107 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
107 return getValue(); 108 return getValue();
108 } 109 }
109 return super.eGet(featureID, resolve, coreType); 110 return super.eGet(featureID, resolve, coreType);
@@ -119,8 +120,8 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
119 { 120 {
120 switch (featureID) 121 switch (featureID)
121 { 122 {
122 case SolverLanguagePackage.INT_OBJECT__VALUE: 123 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
123 setValue((Integer)newValue); 124 setValue((LogicValue)newValue);
124 return; 125 return;
125 } 126 }
126 super.eSet(featureID, newValue); 127 super.eSet(featureID, newValue);
@@ -136,7 +137,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
136 { 137 {
137 switch (featureID) 138 switch (featureID)
138 { 139 {
139 case SolverLanguagePackage.INT_OBJECT__VALUE: 140 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
140 setValue(VALUE_EDEFAULT); 141 setValue(VALUE_EDEFAULT);
141 return; 142 return;
142 } 143 }
@@ -153,7 +154,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
153 { 154 {
154 switch (featureID) 155 switch (featureID)
155 { 156 {
156 case SolverLanguagePackage.INT_OBJECT__VALUE: 157 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
157 return value != VALUE_EDEFAULT; 158 return value != VALUE_EDEFAULT;
158 } 159 }
159 return super.eIsSet(featureID); 160 return super.eIsSet(featureID);
@@ -176,4 +177,4 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
176 return result.toString(); 177 return result.toString();
177 } 178 }
178 179
179} //IntObjectImpl 180} //LogicLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
new file mode 100644
index 00000000..5eb671f3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Lower Bounded Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class LowerBoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements LowerBoundedScopeDefinition
29{
30 /**
31 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getLowerBound()
35 * @generated
36 * @ordered
37 */
38 protected static final int LOWER_BOUND_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getLowerBound()
45 * @generated
46 * @ordered
47 */
48 protected int lowerBound = LOWER_BOUND_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected LowerBoundedScopeDefinitionImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE_DEFINITION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getLowerBound()
78 {
79 return lowerBound;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setLowerBound(int newLowerBound)
89 {
90 int oldLowerBound = lowerBound;
91 lowerBound = newLowerBound;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
107 return getLowerBound();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
123 setLowerBound((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
140 setLowerBound(LOWER_BOUND_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
157 return lowerBound != LOWER_BOUND_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (lowerBound: ");
174 result.append(lowerBound);
175 result.append(')');
176 return result.toString();
177 }
178
179} //LowerBoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
index b1e9c3d0..c248b4ea 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; 8import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>All Objects</b></em>'. 13 * An implementation of the model object '<em><b>Many Multiplicity</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class AllObjectsImpl extends ComplexObjectImpl implements AllObjects 18public class ManyMultiplicityImpl extends MultiplicityImpl implements ManyMultiplicity
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected AllObjectsImpl() 25 protected ManyMultiplicityImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class AllObjectsImpl extends ComplexObjectImpl implements AllObjects
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.ALL_OBJECTS; 38 return SolverLanguagePackage.Literals.MANY_MULTIPLICITY;
39 } 39 }
40 40
41} //AllObjectsImpl 41} //ManyMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
new file mode 100644
index 00000000..69021347
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
@@ -0,0 +1,463 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
17import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Member Definition</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#isContainment <em>Containment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getType <em>Type</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getMultiplicity <em>Multiplicity</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getName <em>Name</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getOpposite <em>Opposite</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class MemberDefinitionImpl extends MinimalEObjectImpl.Container implements MemberDefinition
38{
39 /**
40 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #isContainment()
44 * @generated
45 * @ordered
46 */
47 protected static final boolean CONTAINMENT_EDEFAULT = false;
48
49 /**
50 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #isContainment()
54 * @generated
55 * @ordered
56 */
57 protected boolean containment = CONTAINMENT_EDEFAULT;
58
59 /**
60 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getType()
64 * @generated
65 * @ordered
66 */
67 protected NamedElement type;
68
69 /**
70 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #getMultiplicity()
74 * @generated
75 * @ordered
76 */
77 protected Multiplicity multiplicity;
78
79 /**
80 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #getName()
84 * @generated
85 * @ordered
86 */
87 protected static final String NAME_EDEFAULT = null;
88
89 /**
90 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see #getName()
94 * @generated
95 * @ordered
96 */
97 protected String name = NAME_EDEFAULT;
98
99 /**
100 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @see #getOpposite()
104 * @generated
105 * @ordered
106 */
107 protected NamedElement opposite;
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 protected MemberDefinitionImpl()
115 {
116 super();
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 protected EClass eStaticClass()
126 {
127 return SolverLanguagePackage.Literals.MEMBER_DEFINITION;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public boolean isContainment()
137 {
138 return containment;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public void setContainment(boolean newContainment)
148 {
149 boolean oldContainment = containment;
150 containment = newContainment;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT, oldContainment, containment));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public NamedElement getType()
162 {
163 if (type != null && type.eIsProxy())
164 {
165 InternalEObject oldType = (InternalEObject)type;
166 type = (NamedElement)eResolveProxy(oldType);
167 if (type != oldType)
168 {
169 if (eNotificationRequired())
170 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
171 }
172 }
173 return type;
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 public NamedElement basicGetType()
182 {
183 return type;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void setType(NamedElement newType)
193 {
194 NamedElement oldType = type;
195 type = newType;
196 if (eNotificationRequired())
197 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public Multiplicity getMultiplicity()
207 {
208 return multiplicity;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs)
217 {
218 Multiplicity oldMultiplicity = multiplicity;
219 multiplicity = newMultiplicity;
220 if (eNotificationRequired())
221 {
222 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
223 if (msgs == null) msgs = notification; else msgs.add(notification);
224 }
225 return msgs;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public void setMultiplicity(Multiplicity newMultiplicity)
235 {
236 if (newMultiplicity != multiplicity)
237 {
238 NotificationChain msgs = null;
239 if (multiplicity != null)
240 msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
241 if (newMultiplicity != null)
242 msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
243 msgs = basicSetMultiplicity(newMultiplicity, msgs);
244 if (msgs != null) msgs.dispatch();
245 }
246 else if (eNotificationRequired())
247 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, newMultiplicity, newMultiplicity));
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public String getName()
257 {
258 return name;
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public void setName(String newName)
268 {
269 String oldName = name;
270 name = newName;
271 if (eNotificationRequired())
272 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__NAME, oldName, name));
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public NamedElement getOpposite()
282 {
283 if (opposite != null && opposite.eIsProxy())
284 {
285 InternalEObject oldOpposite = (InternalEObject)opposite;
286 opposite = (NamedElement)eResolveProxy(oldOpposite);
287 if (opposite != oldOpposite)
288 {
289 if (eNotificationRequired())
290 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
291 }
292 }
293 return opposite;
294 }
295
296 /**
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 public NamedElement basicGetOpposite()
302 {
303 return opposite;
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public void setOpposite(NamedElement newOpposite)
313 {
314 NamedElement oldOpposite = opposite;
315 opposite = newOpposite;
316 if (eNotificationRequired())
317 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
318 }
319
320 /**
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 */
325 @Override
326 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
327 {
328 switch (featureID)
329 {
330 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
331 return basicSetMultiplicity(null, msgs);
332 }
333 return super.eInverseRemove(otherEnd, featureID, msgs);
334 }
335
336 /**
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 */
341 @Override
342 public Object eGet(int featureID, boolean resolve, boolean coreType)
343 {
344 switch (featureID)
345 {
346 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
347 return isContainment();
348 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
349 if (resolve) return getType();
350 return basicGetType();
351 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
352 return getMultiplicity();
353 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
354 return getName();
355 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
356 if (resolve) return getOpposite();
357 return basicGetOpposite();
358 }
359 return super.eGet(featureID, resolve, coreType);
360 }
361
362 /**
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 */
367 @Override
368 public void eSet(int featureID, Object newValue)
369 {
370 switch (featureID)
371 {
372 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
373 setContainment((Boolean)newValue);
374 return;
375 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
376 setType((NamedElement)newValue);
377 return;
378 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
379 setMultiplicity((Multiplicity)newValue);
380 return;
381 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
382 setName((String)newValue);
383 return;
384 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
385 setOpposite((NamedElement)newValue);
386 return;
387 }
388 super.eSet(featureID, newValue);
389 }
390
391 /**
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 */
396 @Override
397 public void eUnset(int featureID)
398 {
399 switch (featureID)
400 {
401 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
402 setContainment(CONTAINMENT_EDEFAULT);
403 return;
404 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
405 setType((NamedElement)null);
406 return;
407 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
408 setMultiplicity((Multiplicity)null);
409 return;
410 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
411 setName(NAME_EDEFAULT);
412 return;
413 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
414 setOpposite((NamedElement)null);
415 return;
416 }
417 super.eUnset(featureID);
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 @Override
426 public boolean eIsSet(int featureID)
427 {
428 switch (featureID)
429 {
430 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
431 return containment != CONTAINMENT_EDEFAULT;
432 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
433 return type != null;
434 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
435 return multiplicity != null;
436 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
437 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
438 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
439 return opposite != null;
440 }
441 return super.eIsSet(featureID);
442 }
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 @Override
450 public String toString()
451 {
452 if (eIsProxy()) return super.toString();
453
454 StringBuilder result = new StringBuilder(super.toString());
455 result.append(" (containment: ");
456 result.append(containment);
457 result.append(", name: ");
458 result.append(name);
459 result.append(')');
460 return result.toString();
461 }
462
463} //MemberDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
new file mode 100644
index 00000000..8f84d2f1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
@@ -0,0 +1,343 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Metric Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getHead <em>Head</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getType <em>Type</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class MetricDefinitionImpl extends StatementImpl implements MetricDefinition
35{
36 /**
37 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getHead()
41 * @generated
42 * @ordered
43 */
44 protected Expression head;
45
46 /**
47 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getBody()
51 * @generated
52 * @ordered
53 */
54 protected Expression body;
55
56 /**
57 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getType()
61 * @generated
62 * @ordered
63 */
64 protected static final MetricType TYPE_EDEFAULT = MetricType.INT;
65
66 /**
67 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getType()
71 * @generated
72 * @ordered
73 */
74 protected MetricType type = TYPE_EDEFAULT;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected MetricDefinitionImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.METRIC_DEFINITION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getHead()
104 {
105 return head;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs)
114 {
115 Expression oldHead = head;
116 head = newHead;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, oldHead, newHead);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setHead(Expression newHead)
132 {
133 if (newHead != head)
134 {
135 NotificationChain msgs = null;
136 if (head != null)
137 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
138 if (newHead != null)
139 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
140 msgs = basicSetHead(newHead, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, newHead, newHead));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public Expression getBody()
154 {
155 return body;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
164 {
165 Expression oldBody = body;
166 body = newBody;
167 if (eNotificationRequired())
168 {
169 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, oldBody, newBody);
170 if (msgs == null) msgs = notification; else msgs.add(notification);
171 }
172 return msgs;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void setBody(Expression newBody)
182 {
183 if (newBody != body)
184 {
185 NotificationChain msgs = null;
186 if (body != null)
187 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
188 if (newBody != null)
189 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
190 msgs = basicSetBody(newBody, msgs);
191 if (msgs != null) msgs.dispatch();
192 }
193 else if (eNotificationRequired())
194 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, newBody, newBody));
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public MetricType getType()
204 {
205 return type;
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public void setType(MetricType newType)
215 {
216 MetricType oldType = type;
217 type = newType == null ? TYPE_EDEFAULT : newType;
218 if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
233 return basicSetHead(null, msgs);
234 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
235 return basicSetBody(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
251 return getHead();
252 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
253 return getBody();
254 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
255 return getType();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
271 setHead((Expression)newValue);
272 return;
273 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
274 setBody((Expression)newValue);
275 return;
276 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
277 setType((MetricType)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
294 setHead((Expression)null);
295 return;
296 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
297 setBody((Expression)null);
298 return;
299 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
300 setType(TYPE_EDEFAULT);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
317 return head != null;
318 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
319 return body != null;
320 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
321 return type != TYPE_EDEFAULT;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (type: ");
338 result.append(type);
339 result.append(')');
340 return result.toString();
341 }
342
343} //MetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java
deleted file mode 100644
index a346568c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java
+++ /dev/null
@@ -1,296 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Multiplicity Definition</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#getLower <em>Lower</em>}</li>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#getUpper <em>Upper</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#isUnlimitedUpper <em>Unlimited Upper</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class MultiplicityDefinitionImpl extends MinimalEObjectImpl.Container implements MultiplicityDefinition
32{
33 /**
34 * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getLower()
38 * @generated
39 * @ordered
40 */
41 protected static final int LOWER_EDEFAULT = 0;
42
43 /**
44 * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getLower()
48 * @generated
49 * @ordered
50 */
51 protected int lower = LOWER_EDEFAULT;
52
53 /**
54 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getUpper()
58 * @generated
59 * @ordered
60 */
61 protected static final int UPPER_EDEFAULT = 0;
62
63 /**
64 * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getUpper()
68 * @generated
69 * @ordered
70 */
71 protected int upper = UPPER_EDEFAULT;
72
73 /**
74 * The default value of the '{@link #isUnlimitedUpper() <em>Unlimited Upper</em>}' attribute.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #isUnlimitedUpper()
78 * @generated
79 * @ordered
80 */
81 protected static final boolean UNLIMITED_UPPER_EDEFAULT = false;
82
83 /**
84 * The cached value of the '{@link #isUnlimitedUpper() <em>Unlimited Upper</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #isUnlimitedUpper()
88 * @generated
89 * @ordered
90 */
91 protected boolean unlimitedUpper = UNLIMITED_UPPER_EDEFAULT;
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 protected MultiplicityDefinitionImpl()
99 {
100 super();
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 protected EClass eStaticClass()
110 {
111 return SolverLanguagePackage.Literals.MULTIPLICITY_DEFINITION;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public int getLower()
121 {
122 return lower;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLower(int newLower)
132 {
133 int oldLower = lower;
134 lower = newLower;
135 if (eNotificationRequired())
136 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER, oldLower, lower));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public int getUpper()
146 {
147 return upper;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setUpper(int newUpper)
157 {
158 int oldUpper = upper;
159 upper = newUpper;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER, oldUpper, upper));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public boolean isUnlimitedUpper()
171 {
172 return unlimitedUpper;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void setUnlimitedUpper(boolean newUnlimitedUpper)
182 {
183 boolean oldUnlimitedUpper = unlimitedUpper;
184 unlimitedUpper = newUnlimitedUpper;
185 if (eNotificationRequired())
186 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER, oldUnlimitedUpper, unlimitedUpper));
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
200 return getLower();
201 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
202 return getUpper();
203 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
204 return isUnlimitedUpper();
205 }
206 return super.eGet(featureID, resolve, coreType);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public void eSet(int featureID, Object newValue)
216 {
217 switch (featureID)
218 {
219 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
220 setLower((Integer)newValue);
221 return;
222 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
223 setUpper((Integer)newValue);
224 return;
225 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
226 setUnlimitedUpper((Boolean)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
243 setLower(LOWER_EDEFAULT);
244 return;
245 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
246 setUpper(UPPER_EDEFAULT);
247 return;
248 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
249 setUnlimitedUpper(UNLIMITED_UPPER_EDEFAULT);
250 return;
251 }
252 super.eUnset(featureID);
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public boolean eIsSet(int featureID)
262 {
263 switch (featureID)
264 {
265 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
266 return lower != LOWER_EDEFAULT;
267 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
268 return upper != UPPER_EDEFAULT;
269 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
270 return unlimitedUpper != UNLIMITED_UPPER_EDEFAULT;
271 }
272 return super.eIsSet(featureID);
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public String toString()
282 {
283 if (eIsProxy()) return super.toString();
284
285 StringBuilder result = new StringBuilder(super.toString());
286 result.append(" (lower: ");
287 result.append(lower);
288 result.append(", upper: ");
289 result.append(upper);
290 result.append(", unlimitedUpper: ");
291 result.append(unlimitedUpper);
292 result.append(')');
293 return result.toString();
294 }
295
296} //MultiplicityDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
index 98136f79..935cf5be 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -7,24 +7,24 @@ import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9 9
10import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; 10import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12 12
13/** 13/**
14 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Closure Type</b></em>'. 15 * An implementation of the model object '<em><b>Multiplicity</b></em>'.
16 * <!-- end-user-doc --> 16 * <!-- end-user-doc -->
17 * 17 *
18 * @generated 18 * @generated
19 */ 19 */
20public class ClosureTypeImpl extends MinimalEObjectImpl.Container implements ClosureType 20public class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity
21{ 21{
22 /** 22 /**
23 * <!-- begin-user-doc --> 23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc --> 24 * <!-- end-user-doc -->
25 * @generated 25 * @generated
26 */ 26 */
27 protected ClosureTypeImpl() 27 protected MultiplicityImpl()
28 { 28 {
29 super(); 29 super();
30 } 30 }
@@ -37,7 +37,7 @@ public class ClosureTypeImpl extends MinimalEObjectImpl.Container implements Clo
37 @Override 37 @Override
38 protected EClass eStaticClass() 38 protected EClass eStaticClass()
39 { 39 {
40 return SolverLanguagePackage.Literals.CLOSURE_TYPE; 40 return SolverLanguagePackage.Literals.MULTIPLICITY;
41 } 41 }
42 42
43} //ClosureTypeImpl 43} //MultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
index 9a254023..a94f9894 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -8,24 +8,25 @@ import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.ecore.EClass; 8import org.eclipse.emf.ecore.EClass;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11 12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.Variable;
14 15
15/** 16/**
16 * <!-- begin-user-doc --> 17 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Variable</b></em>'. 18 * An implementation of the model object '<em><b>Named Element</b></em>'.
18 * <!-- end-user-doc --> 19 * <!-- end-user-doc -->
19 * <p> 20 * <p>
20 * The following features are implemented: 21 * The following features are implemented:
21 * </p> 22 * </p>
22 * <ul> 23 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl#getName <em>Name</em>}</li> 24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl#getName <em>Name</em>}</li>
24 * </ul> 25 * </ul>
25 * 26 *
26 * @generated 27 * @generated
27 */ 28 */
28public class VariableImpl extends LiteralImpl implements Variable 29public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement
29{ 30{
30 /** 31 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 32 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
@@ -52,7 +53,7 @@ public class VariableImpl extends LiteralImpl implements Variable
52 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
53 * @generated 54 * @generated
54 */ 55 */
55 protected VariableImpl() 56 protected NamedElementImpl()
56 { 57 {
57 super(); 58 super();
58 } 59 }
@@ -65,7 +66,7 @@ public class VariableImpl extends LiteralImpl implements Variable
65 @Override 66 @Override
66 protected EClass eStaticClass() 67 protected EClass eStaticClass()
67 { 68 {
68 return SolverLanguagePackage.Literals.VARIABLE; 69 return SolverLanguagePackage.Literals.NAMED_ELEMENT;
69 } 70 }
70 71
71 /** 72 /**
@@ -90,7 +91,7 @@ public class VariableImpl extends LiteralImpl implements Variable
90 String oldName = name; 91 String oldName = name;
91 name = newName; 92 name = newName;
92 if (eNotificationRequired()) 93 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__NAME, oldName, name)); 94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_ELEMENT__NAME, oldName, name));
94 } 95 }
95 96
96 /** 97 /**
@@ -103,7 +104,7 @@ public class VariableImpl extends LiteralImpl implements Variable
103 { 104 {
104 switch (featureID) 105 switch (featureID)
105 { 106 {
106 case SolverLanguagePackage.VARIABLE__NAME: 107 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
107 return getName(); 108 return getName();
108 } 109 }
109 return super.eGet(featureID, resolve, coreType); 110 return super.eGet(featureID, resolve, coreType);
@@ -119,7 +120,7 @@ public class VariableImpl extends LiteralImpl implements Variable
119 { 120 {
120 switch (featureID) 121 switch (featureID)
121 { 122 {
122 case SolverLanguagePackage.VARIABLE__NAME: 123 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
123 setName((String)newValue); 124 setName((String)newValue);
124 return; 125 return;
125 } 126 }
@@ -136,7 +137,7 @@ public class VariableImpl extends LiteralImpl implements Variable
136 { 137 {
137 switch (featureID) 138 switch (featureID)
138 { 139 {
139 case SolverLanguagePackage.VARIABLE__NAME: 140 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
140 setName(NAME_EDEFAULT); 141 setName(NAME_EDEFAULT);
141 return; 142 return;
142 } 143 }
@@ -153,7 +154,7 @@ public class VariableImpl extends LiteralImpl implements Variable
153 { 154 {
154 switch (featureID) 155 switch (featureID)
155 { 156 {
156 case SolverLanguagePackage.VARIABLE__NAME: 157 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); 158 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 } 159 }
159 return super.eIsSet(featureID); 160 return super.eIsSet(featureID);
@@ -176,4 +177,4 @@ public class VariableImpl extends LiteralImpl implements Variable
176 return result.toString(); 177 return result.toString();
177 } 178 }
178 179
179} //VariableImpl 180} //NamedElementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java
deleted file mode 100644
index a30b228f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Negative;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Negative</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class NegativeImpl extends PolarityImpl implements Negative
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected NegativeImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.NEGATIVE;
39 }
40
41} //NegativeImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
index bc32a9a6..04622dfb 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -11,23 +11,23 @@ import org.eclipse.emf.ecore.EClass;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 14import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16 16
17/** 17/**
18 * <!-- begin-user-doc --> 18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Real Object</b></em>'. 19 * An implementation of the model object '<em><b>Numeric Literal</b></em>'.
20 * <!-- end-user-doc --> 20 * <!-- end-user-doc -->
21 * <p> 21 * <p>
22 * The following features are implemented: 22 * The following features are implemented:
23 * </p> 23 * </p>
24 * <ul> 24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl#getValue <em>Value</em>}</li> 25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl#getValue <em>Value</em>}</li>
26 * </ul> 26 * </ul>
27 * 27 *
28 * @generated 28 * @generated
29 */ 29 */
30public class RealObjectImpl extends DataObjectImpl implements RealObject 30public class NumericLiteralImpl extends LiteralImpl implements NumericLiteral
31{ 31{
32 /** 32 /**
33 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 33 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -54,7 +54,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
54 * <!-- end-user-doc --> 54 * <!-- end-user-doc -->
55 * @generated 55 * @generated
56 */ 56 */
57 protected RealObjectImpl() 57 protected NumericLiteralImpl()
58 { 58 {
59 super(); 59 super();
60 } 60 }
@@ -67,7 +67,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
67 @Override 67 @Override
68 protected EClass eStaticClass() 68 protected EClass eStaticClass()
69 { 69 {
70 return SolverLanguagePackage.Literals.REAL_OBJECT; 70 return SolverLanguagePackage.Literals.NUMERIC_LITERAL;
71 } 71 }
72 72
73 /** 73 /**
@@ -92,7 +92,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
92 BigDecimal oldValue = value; 92 BigDecimal oldValue = value;
93 value = newValue; 93 value = newValue;
94 if (eNotificationRequired()) 94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REAL_OBJECT__VALUE, oldValue, value)); 95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NUMERIC_LITERAL__VALUE, oldValue, value));
96 } 96 }
97 97
98 /** 98 /**
@@ -105,7 +105,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
105 { 105 {
106 switch (featureID) 106 switch (featureID)
107 { 107 {
108 case SolverLanguagePackage.REAL_OBJECT__VALUE: 108 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
109 return getValue(); 109 return getValue();
110 } 110 }
111 return super.eGet(featureID, resolve, coreType); 111 return super.eGet(featureID, resolve, coreType);
@@ -121,7 +121,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.REAL_OBJECT__VALUE: 124 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
125 setValue((BigDecimal)newValue); 125 setValue((BigDecimal)newValue);
126 return; 126 return;
127 } 127 }
@@ -138,7 +138,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
138 { 138 {
139 switch (featureID) 139 switch (featureID)
140 { 140 {
141 case SolverLanguagePackage.REAL_OBJECT__VALUE: 141 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
142 setValue(VALUE_EDEFAULT); 142 setValue(VALUE_EDEFAULT);
143 return; 143 return;
144 } 144 }
@@ -155,7 +155,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
155 { 155 {
156 switch (featureID) 156 switch (featureID)
157 { 157 {
158 case SolverLanguagePackage.REAL_OBJECT__VALUE: 158 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
159 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); 159 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
160 } 160 }
161 return super.eIsSet(featureID); 161 return super.eIsSet(featureID);
@@ -178,4 +178,4 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
178 return result.toString(); 178 return result.toString();
179 } 179 }
180 180
181} //RealObjectImpl 181} //NumericLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java
deleted file mode 100644
index d2f9b8d9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Object</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ObjectImpl extends ComplexObjectImpl implements org.eclipse.viatra.solver.language.solverLanguage.Object
18{
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ObjectImpl()
25 {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass()
36 {
37 return SolverLanguagePackage.Literals.OBJECT;
38 }
39
40} //ObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
new file mode 100644
index 00000000..43b16e31
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
@@ -0,0 +1,270 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Objective Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getKind <em>Kind</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getObjective <em>Objective</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ObjectiveDefinitionImpl extends StatementImpl implements ObjectiveDefinition
34{
35 /**
36 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getKind()
40 * @generated
41 * @ordered
42 */
43 protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZE;
44
45 /**
46 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getKind()
50 * @generated
51 * @ordered
52 */
53 protected ObjectiveKind kind = KIND_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getObjective() <em>Objective</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getObjective()
60 * @generated
61 * @ordered
62 */
63 protected Expression objective;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected ObjectiveDefinitionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public ObjectiveKind getKind()
93 {
94 return kind;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setKind(ObjectiveKind newKind)
104 {
105 ObjectiveKind oldKind = kind;
106 kind = newKind == null ? KIND_EDEFAULT : newKind;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND, oldKind, kind));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Expression getObjective()
118 {
119 return objective;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetObjective(Expression newObjective, NotificationChain msgs)
128 {
129 Expression oldObjective = objective;
130 objective = newObjective;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, oldObjective, newObjective);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setObjective(Expression newObjective)
146 {
147 if (newObjective != objective)
148 {
149 NotificationChain msgs = null;
150 if (objective != null)
151 msgs = ((InternalEObject)objective).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
152 if (newObjective != null)
153 msgs = ((InternalEObject)newObjective).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
154 msgs = basicSetObjective(newObjective, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, newObjective, newObjective));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
172 return basicSetObjective(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
188 return getKind();
189 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
190 return getObjective();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
206 setKind((ObjectiveKind)newValue);
207 return;
208 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
209 setObjective((Expression)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
226 setKind(KIND_EDEFAULT);
227 return;
228 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
229 setObjective((Expression)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
246 return kind != KIND_EDEFAULT;
247 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
248 return objective != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (kind: ");
265 result.append(kind);
266 result.append(')');
267 return result.toString();
268 }
269
270} //ObjectiveDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java
deleted file mode 100644
index efc2c5f5..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Partiality Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class PartialitySymbolImpl extends SymbolImpl implements PartialitySymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PartialitySymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.PARTIALITY_SYMBOL;
39 }
40
41} //PartialitySymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java
deleted file mode 100644
index 130cfe7a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Positive;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Positive</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class PositiveImpl extends PolarityImpl implements Positive
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PositiveImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.POSITIVE;
39 }
40
41} //PositiveImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
new file mode 100644
index 00000000..50130f01
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
@@ -0,0 +1,400 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Predicate Definition</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getHead <em>Head</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getBody <em>Body</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isFunctional <em>Functional</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isError <em>Error</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class PredicateDefinitionImpl extends StatementImpl implements PredicateDefinition
35{
36 /**
37 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getHead()
41 * @generated
42 * @ordered
43 */
44 protected Expression head;
45
46 /**
47 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getBody()
51 * @generated
52 * @ordered
53 */
54 protected Expression body;
55
56 /**
57 * The default value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #isFunctional()
61 * @generated
62 * @ordered
63 */
64 protected static final boolean FUNCTIONAL_EDEFAULT = false;
65
66 /**
67 * The cached value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #isFunctional()
71 * @generated
72 * @ordered
73 */
74 protected boolean functional = FUNCTIONAL_EDEFAULT;
75
76 /**
77 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #isError()
81 * @generated
82 * @ordered
83 */
84 protected static final boolean ERROR_EDEFAULT = false;
85
86 /**
87 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @see #isError()
91 * @generated
92 * @ordered
93 */
94 protected boolean error = ERROR_EDEFAULT;
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 protected PredicateDefinitionImpl()
102 {
103 super();
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 protected EClass eStaticClass()
113 {
114 return SolverLanguagePackage.Literals.PREDICATE_DEFINITION;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Expression getHead()
124 {
125 return head;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs)
134 {
135 Expression oldHead = head;
136 head = newHead;
137 if (eNotificationRequired())
138 {
139 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, oldHead, newHead);
140 if (msgs == null) msgs = notification; else msgs.add(notification);
141 }
142 return msgs;
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public void setHead(Expression newHead)
152 {
153 if (newHead != head)
154 {
155 NotificationChain msgs = null;
156 if (head != null)
157 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
158 if (newHead != null)
159 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
160 msgs = basicSetHead(newHead, msgs);
161 if (msgs != null) msgs.dispatch();
162 }
163 else if (eNotificationRequired())
164 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, newHead, newHead));
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public Expression getBody()
174 {
175 return body;
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
184 {
185 Expression oldBody = body;
186 body = newBody;
187 if (eNotificationRequired())
188 {
189 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, oldBody, newBody);
190 if (msgs == null) msgs = notification; else msgs.add(notification);
191 }
192 return msgs;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void setBody(Expression newBody)
202 {
203 if (newBody != body)
204 {
205 NotificationChain msgs = null;
206 if (body != null)
207 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
208 if (newBody != null)
209 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
210 msgs = basicSetBody(newBody, msgs);
211 if (msgs != null) msgs.dispatch();
212 }
213 else if (eNotificationRequired())
214 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, newBody, newBody));
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public boolean isFunctional()
224 {
225 return functional;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public void setFunctional(boolean newFunctional)
235 {
236 boolean oldFunctional = functional;
237 functional = newFunctional;
238 if (eNotificationRequired())
239 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL, oldFunctional, functional));
240 }
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 @Override
248 public boolean isError()
249 {
250 return error;
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public void setError(boolean newError)
260 {
261 boolean oldError = error;
262 error = newError;
263 if (eNotificationRequired())
264 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__ERROR, oldError, error));
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @Override
273 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
274 {
275 switch (featureID)
276 {
277 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
278 return basicSetHead(null, msgs);
279 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
280 return basicSetBody(null, msgs);
281 }
282 return super.eInverseRemove(otherEnd, featureID, msgs);
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public Object eGet(int featureID, boolean resolve, boolean coreType)
292 {
293 switch (featureID)
294 {
295 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
296 return getHead();
297 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
298 return getBody();
299 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
300 return isFunctional();
301 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
302 return isError();
303 }
304 return super.eGet(featureID, resolve, coreType);
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 @Override
313 public void eSet(int featureID, Object newValue)
314 {
315 switch (featureID)
316 {
317 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
318 setHead((Expression)newValue);
319 return;
320 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
321 setBody((Expression)newValue);
322 return;
323 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
324 setFunctional((Boolean)newValue);
325 return;
326 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
327 setError((Boolean)newValue);
328 return;
329 }
330 super.eSet(featureID, newValue);
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 @Override
339 public void eUnset(int featureID)
340 {
341 switch (featureID)
342 {
343 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
344 setHead((Expression)null);
345 return;
346 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
347 setBody((Expression)null);
348 return;
349 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
350 setFunctional(FUNCTIONAL_EDEFAULT);
351 return;
352 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
353 setError(ERROR_EDEFAULT);
354 return;
355 }
356 super.eUnset(featureID);
357 }
358
359 /**
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @generated
363 */
364 @Override
365 public boolean eIsSet(int featureID)
366 {
367 switch (featureID)
368 {
369 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
370 return head != null;
371 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
372 return body != null;
373 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
374 return functional != FUNCTIONAL_EDEFAULT;
375 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
376 return error != ERROR_EDEFAULT;
377 }
378 return super.eIsSet(featureID);
379 }
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 @Override
387 public String toString()
388 {
389 if (eIsProxy()) return super.toString();
390
391 StringBuilder result = new StringBuilder(super.toString());
392 result.append(" (functional: ");
393 result.append(functional);
394 result.append(", error: ");
395 result.append(error);
396 result.append(')');
397 return result.toString();
398 }
399
400} //PredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
deleted file mode 100644
index d3c7366d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
+++ /dev/null
@@ -1,357 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
22import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
23import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
24import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Predicate</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#isIsError <em>Is Error</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getSymbol <em>Symbol</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getParameters <em>Parameters</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getBodies <em>Bodies</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class PredicateImpl extends StatementImpl implements Predicate
44{
45 /**
46 * The default value of the '{@link #isIsError() <em>Is Error</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isIsError()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean IS_ERROR_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isIsError() <em>Is Error</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isIsError()
60 * @generated
61 * @ordered
62 */
63 protected boolean isError = IS_ERROR_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getSymbol()
70 * @generated
71 * @ordered
72 */
73 protected ModelSymbol symbol;
74
75 /**
76 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getParameters()
80 * @generated
81 * @ordered
82 */
83 protected EList<Parameter> parameters;
84
85 /**
86 * The cached value of the '{@link #getBodies() <em>Bodies</em>}' containment reference list.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getBodies()
90 * @generated
91 * @ordered
92 */
93 protected EList<PatternBody> bodies;
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 protected PredicateImpl()
101 {
102 super();
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 protected EClass eStaticClass()
112 {
113 return SolverLanguagePackage.Literals.PREDICATE;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 @Override
122 public boolean isIsError()
123 {
124 return isError;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void setIsError(boolean newIsError)
134 {
135 boolean oldIsError = isError;
136 isError = newIsError;
137 if (eNotificationRequired())
138 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__IS_ERROR, oldIsError, isError));
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public ModelSymbol getSymbol()
148 {
149 return symbol;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
158 {
159 ModelSymbol oldSymbol = symbol;
160 symbol = newSymbol;
161 if (eNotificationRequired())
162 {
163 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, oldSymbol, newSymbol);
164 if (msgs == null) msgs = notification; else msgs.add(notification);
165 }
166 return msgs;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void setSymbol(ModelSymbol newSymbol)
176 {
177 if (newSymbol != symbol)
178 {
179 NotificationChain msgs = null;
180 if (symbol != null)
181 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs);
182 if (newSymbol != null)
183 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs);
184 msgs = basicSetSymbol(newSymbol, msgs);
185 if (msgs != null) msgs.dispatch();
186 }
187 else if (eNotificationRequired())
188 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, newSymbol, newSymbol));
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public EList<Parameter> getParameters()
198 {
199 if (parameters == null)
200 {
201 parameters = new EObjectContainmentEList<Parameter>(Parameter.class, this, SolverLanguagePackage.PREDICATE__PARAMETERS);
202 }
203 return parameters;
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public EList<PatternBody> getBodies()
213 {
214 if (bodies == null)
215 {
216 bodies = new EObjectContainmentEList<PatternBody>(PatternBody.class, this, SolverLanguagePackage.PREDICATE__BODIES);
217 }
218 return bodies;
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
228 {
229 switch (featureID)
230 {
231 case SolverLanguagePackage.PREDICATE__SYMBOL:
232 return basicSetSymbol(null, msgs);
233 case SolverLanguagePackage.PREDICATE__PARAMETERS:
234 return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
235 case SolverLanguagePackage.PREDICATE__BODIES:
236 return ((InternalEList<?>)getBodies()).basicRemove(otherEnd, msgs);
237 }
238 return super.eInverseRemove(otherEnd, featureID, msgs);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public Object eGet(int featureID, boolean resolve, boolean coreType)
248 {
249 switch (featureID)
250 {
251 case SolverLanguagePackage.PREDICATE__IS_ERROR:
252 return isIsError();
253 case SolverLanguagePackage.PREDICATE__SYMBOL:
254 return getSymbol();
255 case SolverLanguagePackage.PREDICATE__PARAMETERS:
256 return getParameters();
257 case SolverLanguagePackage.PREDICATE__BODIES:
258 return getBodies();
259 }
260 return super.eGet(featureID, resolve, coreType);
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @SuppressWarnings("unchecked")
269 @Override
270 public void eSet(int featureID, Object newValue)
271 {
272 switch (featureID)
273 {
274 case SolverLanguagePackage.PREDICATE__IS_ERROR:
275 setIsError((Boolean)newValue);
276 return;
277 case SolverLanguagePackage.PREDICATE__SYMBOL:
278 setSymbol((ModelSymbol)newValue);
279 return;
280 case SolverLanguagePackage.PREDICATE__PARAMETERS:
281 getParameters().clear();
282 getParameters().addAll((Collection<? extends Parameter>)newValue);
283 return;
284 case SolverLanguagePackage.PREDICATE__BODIES:
285 getBodies().clear();
286 getBodies().addAll((Collection<? extends PatternBody>)newValue);
287 return;
288 }
289 super.eSet(featureID, newValue);
290 }
291
292 /**
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 */
297 @Override
298 public void eUnset(int featureID)
299 {
300 switch (featureID)
301 {
302 case SolverLanguagePackage.PREDICATE__IS_ERROR:
303 setIsError(IS_ERROR_EDEFAULT);
304 return;
305 case SolverLanguagePackage.PREDICATE__SYMBOL:
306 setSymbol((ModelSymbol)null);
307 return;
308 case SolverLanguagePackage.PREDICATE__PARAMETERS:
309 getParameters().clear();
310 return;
311 case SolverLanguagePackage.PREDICATE__BODIES:
312 getBodies().clear();
313 return;
314 }
315 super.eUnset(featureID);
316 }
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 @Override
324 public boolean eIsSet(int featureID)
325 {
326 switch (featureID)
327 {
328 case SolverLanguagePackage.PREDICATE__IS_ERROR:
329 return isError != IS_ERROR_EDEFAULT;
330 case SolverLanguagePackage.PREDICATE__SYMBOL:
331 return symbol != null;
332 case SolverLanguagePackage.PREDICATE__PARAMETERS:
333 return parameters != null && !parameters.isEmpty();
334 case SolverLanguagePackage.PREDICATE__BODIES:
335 return bodies != null && !bodies.isEmpty();
336 }
337 return super.eIsSet(featureID);
338 }
339
340 /**
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 */
345 @Override
346 public String toString()
347 {
348 if (eIsProxy()) return super.toString();
349
350 StringBuilder result = new StringBuilder(super.toString());
351 result.append(" (isError: ");
352 result.append(isError);
353 result.append(')');
354 return result.toString();
355 }
356
357} //PredicateImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
index e5cc3585..744e604d 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java
deleted file mode 100644
index 8cfd0980..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Real Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class RealSymbolImpl extends DataSymbolImpl implements RealSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected RealSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.REAL_SYMBOL;
39 }
40
41} //RealSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
new file mode 100644
index 00000000..be44c0e9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
@@ -0,0 +1,175 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.Reference;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Reference</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl#getReferred <em>Referred</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ReferenceImpl extends ExpressionImpl implements Reference
31{
32 /**
33 * The cached value of the '{@link #getReferred() <em>Referred</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getReferred()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement referred;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected ReferenceImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.REFERENCE;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getReferred()
70 {
71 if (referred != null && referred.eIsProxy())
72 {
73 InternalEObject oldReferred = (InternalEObject)referred;
74 referred = (NamedElement)eResolveProxy(oldReferred);
75 if (referred != oldReferred)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
79 }
80 }
81 return referred;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetReferred()
90 {
91 return referred;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setReferred(NamedElement newReferred)
101 {
102 NamedElement oldReferred = referred;
103 referred = newReferred;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.REFERENCE__REFERRED:
119 if (resolve) return getReferred();
120 return basicGetReferred();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.REFERENCE__REFERRED:
136 setReferred((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.REFERENCE__REFERRED:
153 setReferred((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.REFERENCE__REFERRED:
170 return referred != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //ReferenceImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java
deleted file mode 100644
index 111b48cb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Reflexive Closure</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ReflexiveClosureImpl extends ClosureTypeImpl implements ReflexiveClosure
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ReflexiveClosureImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.REFLEXIVE_CLOSURE;
39 }
40
41} //ReflexiveClosureImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
new file mode 100644
index 00000000..be109307
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
@@ -0,0 +1,175 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Scope Definition</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl#getType <em>Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ScopeDefinitionImpl extends StatementImpl implements ScopeDefinition
31{
32 /**
33 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getType()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement type;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected ScopeDefinitionImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.SCOPE_DEFINITION;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getType()
70 {
71 if (type != null && type.eIsProxy())
72 {
73 InternalEObject oldType = (InternalEObject)type;
74 type = (NamedElement)eResolveProxy(oldType);
75 if (type != oldType)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
79 }
80 }
81 return type;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetType()
90 {
91 return type;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setType(NamedElement newType)
101 {
102 NamedElement oldType = type;
103 type = newType;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
119 if (resolve) return getType();
120 return basicGetType();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
136 setType((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
153 setType((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
170 return type != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //ScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
index 5cb1dcdc..8a5976c2 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
@@ -1,9 +1,10 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EDataType;
7import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage; 9import org.eclipse.emf.ecore.EPackage;
9 10
@@ -11,58 +12,7 @@ import org.eclipse.emf.ecore.impl.EFactoryImpl;
11 12
12import org.eclipse.emf.ecore.plugin.EcorePlugin; 13import org.eclipse.emf.ecore.plugin.EcorePlugin;
13 14
14import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 15import org.eclipse.viatra.solver.language.solverLanguage.*;
15import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
16import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
21import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
22import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
24import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
25import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
26import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
27import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
28import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
31import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
32import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
33import org.eclipse.viatra.solver.language.solverLanguage.False;
34import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
35import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
36import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
37import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
38import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
39import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
40import org.eclipse.viatra.solver.language.solverLanguage.Literal;
41import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
42import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
44import org.eclipse.viatra.solver.language.solverLanguage.Negative;
45import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
46import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
47import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
48import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
49import org.eclipse.viatra.solver.language.solverLanguage.Positive;
50import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
51import org.eclipse.viatra.solver.language.solverLanguage.Problem;
52import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
53import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
54import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
55import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
56import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
57import org.eclipse.viatra.solver.language.solverLanguage.Statement;
58import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
59import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
60import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
61import org.eclipse.viatra.solver.language.solverLanguage.True;
62import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
63import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
64import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
65import org.eclipse.viatra.solver.language.solverLanguage.Variable;
66 16
67/** 17/**
68 * <!-- begin-user-doc --> 18 * <!-- begin-user-doc -->
@@ -118,56 +68,50 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
118 { 68 {
119 case SolverLanguagePackage.PROBLEM: return createProblem(); 69 case SolverLanguagePackage.PROBLEM: return createProblem();
120 case SolverLanguagePackage.STATEMENT: return createStatement(); 70 case SolverLanguagePackage.STATEMENT: return createStatement();
121 case SolverLanguagePackage.BOOLEAN_VALUE: return createBooleanValue(); 71 case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition();
122 case SolverLanguagePackage.TRUTH_VALUE: return createTruthValue(); 72 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition();
123 case SolverLanguagePackage.INTERPRETATION: return createInterpretation(); 73 case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition();
124 case SolverLanguagePackage.BASIC_INTERPRETATION: return createBasicInterpretation(); 74 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition();
125 case SolverLanguagePackage.SYMBOL: return createSymbol(); 75 case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition();
126 case SolverLanguagePackage.MODEL_SYMBOL: return createModelSymbol(); 76 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition();
127 case SolverLanguagePackage.PARTIALITY_SYMBOL: return createPartialitySymbol(); 77 case SolverLanguagePackage.EXPRESSION: return createExpression();
128 case SolverLanguagePackage.EXIST_SYMBOL: return createExistSymbol(); 78 case SolverLanguagePackage.IF_ELSE: return createIfElse();
129 case SolverLanguagePackage.EQUALS_SYMBOL: return createEqualsSymbol(); 79 case SolverLanguagePackage.CASE: return createCase();
130 case SolverLanguagePackage.DATA_SYMBOL: return createDataSymbol(); 80 case SolverLanguagePackage.COUNT: return createCount();
131 case SolverLanguagePackage.BOOLEAN_SYMBOL: return createBooleanSymbol(); 81 case SolverLanguagePackage.AGGREGATION: return createAggregation();
132 case SolverLanguagePackage.INTEGER_SYMBOL: return createIntegerSymbol(); 82 case SolverLanguagePackage.CALL: return createCall();
133 case SolverLanguagePackage.REAL_SYMBOL: return createRealSymbol(); 83 case SolverLanguagePackage.ARGUMENT_LIST: return createArgumentList();
134 case SolverLanguagePackage.STRING_SYMBOL: return createStringSymbol(); 84 case SolverLanguagePackage.ARGUMENT: return createArgument();
135 case SolverLanguagePackage.COMPLEX_OBJECT: return createComplexObject(); 85 case SolverLanguagePackage.EXPRESSION_ARGUMENT: return createExpressionArgument();
136 case SolverLanguagePackage.OBJECT: return createObject(); 86 case SolverLanguagePackage.STAR_ARGUMENT: return createStarArgument();
137 case SolverLanguagePackage.NAMED_OBJECT: return createNamedObject(); 87 case SolverLanguagePackage.TYPED_ARGUMENT: return createTypedArgument();
138 case SolverLanguagePackage.UNNAMED_OBJECT: return createUnnamedObject(); 88 case SolverLanguagePackage.TYPED_STAR_ARGUMENT: return createTypedStarArgument();
139 case SolverLanguagePackage.DATA_OBJECT: return createDataObject(); 89 case SolverLanguagePackage.REFERENCE: return createReference();
140 case SolverLanguagePackage.BOOLEAN_OBJECT: return createBooleanObject(); 90 case SolverLanguagePackage.INTERVAL: return createInterval();
141 case SolverLanguagePackage.INT_OBJECT: return createIntObject();
142 case SolverLanguagePackage.REAL_OBJECT: return createRealObject();
143 case SolverLanguagePackage.STRING_OBJECT: return createStringObject();
144 case SolverLanguagePackage.PREDICATE: return createPredicate();
145 case SolverLanguagePackage.PARAMETER: return createParameter();
146 case SolverLanguagePackage.PATTERN_BODY: return createPatternBody();
147 case SolverLanguagePackage.POLARITY: return createPolarity();
148 case SolverLanguagePackage.CONSTRAINT: return createConstraint();
149 case SolverLanguagePackage.CLOSURE_TYPE: return createClosureType();
150 case SolverLanguagePackage.LITERAL: return createLiteral(); 91 case SolverLanguagePackage.LITERAL: return createLiteral();
151 case SolverLanguagePackage.VARIABLE: return createVariable(); 92 case SolverLanguagePackage.LOGIC_LITERAL: return createLogicLiteral();
152 case SolverLanguagePackage.ALL_INSTANCES: return createAllInstances(); 93 case SolverLanguagePackage.NUMERIC_LITERAL: return createNumericLiteral();
153 case SolverLanguagePackage.ALL_OBJECTS: return createAllObjects(); 94 case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral();
154 case SolverLanguagePackage.DEFAULT_INTERPRETATION: return createDefaultInterpretation(); 95 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral();
155 case SolverLanguagePackage.CD_INTERPRETATION: return createCDInterpretation(); 96 case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral();
156 case SolverLanguagePackage.CLASS_INTERPRETATION: return createClassInterpretation(); 97 case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition();
157 case SolverLanguagePackage.ENUM_INTERPRETATION: return createEnumInterpretation(); 98 case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity();
158 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: return createFieldRelationInterpretation(); 99 case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity();
159 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: return createGlobalRelationInterpretation(); 100 case SolverLanguagePackage.EXACT_MULTIPLICITY: return createExactMultiplicity();
160 case SolverLanguagePackage.MULTIPLICITY_DEFINITION: return createMultiplicityDefinition(); 101 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: return createBoundedMultiplicity();
161 case SolverLanguagePackage.BOOLEAN_TRUE: return createBooleanTrue(); 102 case SolverLanguagePackage.SCOPE_DEFINITION: return createScopeDefinition();
162 case SolverLanguagePackage.BOOLEAN_FALSE: return createBooleanFalse(); 103 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: return createExactScopeDefinition();
163 case SolverLanguagePackage.TRUE: return createTrue(); 104 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: return createBoundedScopeDefinition();
164 case SolverLanguagePackage.FALSE: return createFalse(); 105 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: return createLowerBoundedScopeDefinition();
165 case SolverLanguagePackage.UNKNOWN: return createUnknown(); 106 case SolverLanguagePackage.OBJECTIVE_DEFINITION: return createObjectiveDefinition();
166 case SolverLanguagePackage.ERROR: return createError(); 107 case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement();
167 case SolverLanguagePackage.POSITIVE: return createPositive(); 108 case SolverLanguagePackage.ASSERTION: return createAssertion();
168 case SolverLanguagePackage.NEGATIVE: return createNegative(); 109 case SolverLanguagePackage.DISJUNCTION: return createDisjunction();
169 case SolverLanguagePackage.REFLEXIVE_CLOSURE: return createReflexiveClosure(); 110 case SolverLanguagePackage.SWITCH: return createSwitch();
170 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE: return createIrreflexiveClosure(); 111 case SolverLanguagePackage.CONJUNCTION: return createConjunction();
112 case SolverLanguagePackage.COMPARISON: return createComparison();
113 case SolverLanguagePackage.BINARY_EXPRESSION: return createBinaryExpression();
114 case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression();
171 default: 115 default:
172 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 116 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
173 } 117 }
@@ -179,6 +123,60 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
179 * @generated 123 * @generated
180 */ 124 */
181 @Override 125 @Override
126 public Object createFromString(EDataType eDataType, String initialValue)
127 {
128 switch (eDataType.getClassifierID())
129 {
130 case SolverLanguagePackage.METRIC_TYPE:
131 return createMetricTypeFromString(eDataType, initialValue);
132 case SolverLanguagePackage.BINARY_OPERATOR:
133 return createBinaryOperatorFromString(eDataType, initialValue);
134 case SolverLanguagePackage.UNARY_OP:
135 return createUnaryOpFromString(eDataType, initialValue);
136 case SolverLanguagePackage.AGGREGATION_OP:
137 return createAggregationOpFromString(eDataType, initialValue);
138 case SolverLanguagePackage.LOGIC_VALUE:
139 return createLogicValueFromString(eDataType, initialValue);
140 case SolverLanguagePackage.OBJECTIVE_KIND:
141 return createObjectiveKindFromString(eDataType, initialValue);
142 default:
143 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
144 }
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String convertToString(EDataType eDataType, Object instanceValue)
154 {
155 switch (eDataType.getClassifierID())
156 {
157 case SolverLanguagePackage.METRIC_TYPE:
158 return convertMetricTypeToString(eDataType, instanceValue);
159 case SolverLanguagePackage.BINARY_OPERATOR:
160 return convertBinaryOperatorToString(eDataType, instanceValue);
161 case SolverLanguagePackage.UNARY_OP:
162 return convertUnaryOpToString(eDataType, instanceValue);
163 case SolverLanguagePackage.AGGREGATION_OP:
164 return convertAggregationOpToString(eDataType, instanceValue);
165 case SolverLanguagePackage.LOGIC_VALUE:
166 return convertLogicValueToString(eDataType, instanceValue);
167 case SolverLanguagePackage.OBJECTIVE_KIND:
168 return convertObjectiveKindToString(eDataType, instanceValue);
169 default:
170 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
171 }
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
182 public Problem createProblem() 180 public Problem createProblem()
183 { 181 {
184 ProblemImpl problem = new ProblemImpl(); 182 ProblemImpl problem = new ProblemImpl();
@@ -203,10 +201,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
203 * @generated 201 * @generated
204 */ 202 */
205 @Override 203 @Override
206 public BooleanValue createBooleanValue() 204 public PredicateDefinition createPredicateDefinition()
207 { 205 {
208 BooleanValueImpl booleanValue = new BooleanValueImpl(); 206 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
209 return booleanValue; 207 return predicateDefinition;
210 } 208 }
211 209
212 /** 210 /**
@@ -215,10 +213,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
215 * @generated 213 * @generated
216 */ 214 */
217 @Override 215 @Override
218 public TruthValue createTruthValue() 216 public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition()
219 { 217 {
220 TruthValueImpl truthValue = new TruthValueImpl(); 218 UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl();
221 return truthValue; 219 return unnamedErrorPrediateDefinition;
222 } 220 }
223 221
224 /** 222 /**
@@ -227,10 +225,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
227 * @generated 225 * @generated
228 */ 226 */
229 @Override 227 @Override
230 public Interpretation createInterpretation() 228 public DefaultDefinition createDefaultDefinition()
231 { 229 {
232 InterpretationImpl interpretation = new InterpretationImpl(); 230 DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl();
233 return interpretation; 231 return defaultDefinition;
234 } 232 }
235 233
236 /** 234 /**
@@ -239,10 +237,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
239 * @generated 237 * @generated
240 */ 238 */
241 @Override 239 @Override
242 public BasicInterpretation createBasicInterpretation() 240 public ExternPredicateDefinition createExternPredicateDefinition()
243 { 241 {
244 BasicInterpretationImpl basicInterpretation = new BasicInterpretationImpl(); 242 ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl();
245 return basicInterpretation; 243 return externPredicateDefinition;
246 } 244 }
247 245
248 /** 246 /**
@@ -251,10 +249,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
251 * @generated 249 * @generated
252 */ 250 */
253 @Override 251 @Override
254 public Symbol createSymbol() 252 public MetricDefinition createMetricDefinition()
255 { 253 {
256 SymbolImpl symbol = new SymbolImpl(); 254 MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl();
257 return symbol; 255 return metricDefinition;
258 } 256 }
259 257
260 /** 258 /**
@@ -263,10 +261,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
263 * @generated 261 * @generated
264 */ 262 */
265 @Override 263 @Override
266 public ModelSymbol createModelSymbol() 264 public ExternMetricDefinition createExternMetricDefinition()
267 { 265 {
268 ModelSymbolImpl modelSymbol = new ModelSymbolImpl(); 266 ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl();
269 return modelSymbol; 267 return externMetricDefinition;
270 } 268 }
271 269
272 /** 270 /**
@@ -275,10 +273,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
275 * @generated 273 * @generated
276 */ 274 */
277 @Override 275 @Override
278 public PartialitySymbol createPartialitySymbol() 276 public Expression createExpression()
279 { 277 {
280 PartialitySymbolImpl partialitySymbol = new PartialitySymbolImpl(); 278 ExpressionImpl expression = new ExpressionImpl();
281 return partialitySymbol; 279 return expression;
282 } 280 }
283 281
284 /** 282 /**
@@ -287,10 +285,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
287 * @generated 285 * @generated
288 */ 286 */
289 @Override 287 @Override
290 public ExistSymbol createExistSymbol() 288 public IfElse createIfElse()
291 { 289 {
292 ExistSymbolImpl existSymbol = new ExistSymbolImpl(); 290 IfElseImpl ifElse = new IfElseImpl();
293 return existSymbol; 291 return ifElse;
294 } 292 }
295 293
296 /** 294 /**
@@ -299,10 +297,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
299 * @generated 297 * @generated
300 */ 298 */
301 @Override 299 @Override
302 public EqualsSymbol createEqualsSymbol() 300 public Case createCase()
303 { 301 {
304 EqualsSymbolImpl equalsSymbol = new EqualsSymbolImpl(); 302 CaseImpl case_ = new CaseImpl();
305 return equalsSymbol; 303 return case_;
306 } 304 }
307 305
308 /** 306 /**
@@ -311,10 +309,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
311 * @generated 309 * @generated
312 */ 310 */
313 @Override 311 @Override
314 public DataSymbol createDataSymbol() 312 public Count createCount()
315 { 313 {
316 DataSymbolImpl dataSymbol = new DataSymbolImpl(); 314 CountImpl count = new CountImpl();
317 return dataSymbol; 315 return count;
318 } 316 }
319 317
320 /** 318 /**
@@ -323,10 +321,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
323 * @generated 321 * @generated
324 */ 322 */
325 @Override 323 @Override
326 public BooleanSymbol createBooleanSymbol() 324 public Aggregation createAggregation()
327 { 325 {
328 BooleanSymbolImpl booleanSymbol = new BooleanSymbolImpl(); 326 AggregationImpl aggregation = new AggregationImpl();
329 return booleanSymbol; 327 return aggregation;
330 } 328 }
331 329
332 /** 330 /**
@@ -335,10 +333,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
335 * @generated 333 * @generated
336 */ 334 */
337 @Override 335 @Override
338 public IntegerSymbol createIntegerSymbol() 336 public Call createCall()
339 { 337 {
340 IntegerSymbolImpl integerSymbol = new IntegerSymbolImpl(); 338 CallImpl call = new CallImpl();
341 return integerSymbol; 339 return call;
342 } 340 }
343 341
344 /** 342 /**
@@ -347,10 +345,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
347 * @generated 345 * @generated
348 */ 346 */
349 @Override 347 @Override
350 public RealSymbol createRealSymbol() 348 public ArgumentList createArgumentList()
351 { 349 {
352 RealSymbolImpl realSymbol = new RealSymbolImpl(); 350 ArgumentListImpl argumentList = new ArgumentListImpl();
353 return realSymbol; 351 return argumentList;
354 } 352 }
355 353
356 /** 354 /**
@@ -359,10 +357,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
359 * @generated 357 * @generated
360 */ 358 */
361 @Override 359 @Override
362 public StringSymbol createStringSymbol() 360 public Argument createArgument()
363 { 361 {
364 StringSymbolImpl stringSymbol = new StringSymbolImpl(); 362 ArgumentImpl argument = new ArgumentImpl();
365 return stringSymbol; 363 return argument;
366 } 364 }
367 365
368 /** 366 /**
@@ -371,10 +369,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
371 * @generated 369 * @generated
372 */ 370 */
373 @Override 371 @Override
374 public ComplexObject createComplexObject() 372 public ExpressionArgument createExpressionArgument()
375 { 373 {
376 ComplexObjectImpl complexObject = new ComplexObjectImpl(); 374 ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl();
377 return complexObject; 375 return expressionArgument;
378 } 376 }
379 377
380 /** 378 /**
@@ -383,10 +381,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
383 * @generated 381 * @generated
384 */ 382 */
385 @Override 383 @Override
386 public org.eclipse.viatra.solver.language.solverLanguage.Object createObject() 384 public StarArgument createStarArgument()
387 { 385 {
388 ObjectImpl object = new ObjectImpl(); 386 StarArgumentImpl starArgument = new StarArgumentImpl();
389 return object; 387 return starArgument;
390 } 388 }
391 389
392 /** 390 /**
@@ -395,10 +393,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
395 * @generated 393 * @generated
396 */ 394 */
397 @Override 395 @Override
398 public NamedObject createNamedObject() 396 public TypedArgument createTypedArgument()
399 { 397 {
400 NamedObjectImpl namedObject = new NamedObjectImpl(); 398 TypedArgumentImpl typedArgument = new TypedArgumentImpl();
401 return namedObject; 399 return typedArgument;
402 } 400 }
403 401
404 /** 402 /**
@@ -407,10 +405,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
407 * @generated 405 * @generated
408 */ 406 */
409 @Override 407 @Override
410 public UnnamedObject createUnnamedObject() 408 public TypedStarArgument createTypedStarArgument()
411 { 409 {
412 UnnamedObjectImpl unnamedObject = new UnnamedObjectImpl(); 410 TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl();
413 return unnamedObject; 411 return typedStarArgument;
414 } 412 }
415 413
416 /** 414 /**
@@ -419,10 +417,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
419 * @generated 417 * @generated
420 */ 418 */
421 @Override 419 @Override
422 public DataObject createDataObject() 420 public Reference createReference()
423 { 421 {
424 DataObjectImpl dataObject = new DataObjectImpl(); 422 ReferenceImpl reference = new ReferenceImpl();
425 return dataObject; 423 return reference;
426 } 424 }
427 425
428 /** 426 /**
@@ -431,10 +429,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
431 * @generated 429 * @generated
432 */ 430 */
433 @Override 431 @Override
434 public BooleanObject createBooleanObject() 432 public Interval createInterval()
435 { 433 {
436 BooleanObjectImpl booleanObject = new BooleanObjectImpl(); 434 IntervalImpl interval = new IntervalImpl();
437 return booleanObject; 435 return interval;
438 } 436 }
439 437
440 /** 438 /**
@@ -443,10 +441,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
443 * @generated 441 * @generated
444 */ 442 */
445 @Override 443 @Override
446 public IntObject createIntObject() 444 public Literal createLiteral()
447 { 445 {
448 IntObjectImpl intObject = new IntObjectImpl(); 446 LiteralImpl literal = new LiteralImpl();
449 return intObject; 447 return literal;
450 } 448 }
451 449
452 /** 450 /**
@@ -455,10 +453,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
455 * @generated 453 * @generated
456 */ 454 */
457 @Override 455 @Override
458 public RealObject createRealObject() 456 public LogicLiteral createLogicLiteral()
459 { 457 {
460 RealObjectImpl realObject = new RealObjectImpl(); 458 LogicLiteralImpl logicLiteral = new LogicLiteralImpl();
461 return realObject; 459 return logicLiteral;
462 } 460 }
463 461
464 /** 462 /**
@@ -467,10 +465,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
467 * @generated 465 * @generated
468 */ 466 */
469 @Override 467 @Override
470 public StringObject createStringObject() 468 public NumericLiteral createNumericLiteral()
471 { 469 {
472 StringObjectImpl stringObject = new StringObjectImpl(); 470 NumericLiteralImpl numericLiteral = new NumericLiteralImpl();
473 return stringObject; 471 return numericLiteral;
474 } 472 }
475 473
476 /** 474 /**
@@ -479,10 +477,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
479 * @generated 477 * @generated
480 */ 478 */
481 @Override 479 @Override
482 public Predicate createPredicate() 480 public InfinityLiteral createInfinityLiteral()
483 { 481 {
484 PredicateImpl predicate = new PredicateImpl(); 482 InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl();
485 return predicate; 483 return infinityLiteral;
486 } 484 }
487 485
488 /** 486 /**
@@ -491,10 +489,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
491 * @generated 489 * @generated
492 */ 490 */
493 @Override 491 @Override
494 public Parameter createParameter() 492 public EmptyIntervalLiteral createEmptyIntervalLiteral()
495 { 493 {
496 ParameterImpl parameter = new ParameterImpl(); 494 EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl();
497 return parameter; 495 return emptyIntervalLiteral;
498 } 496 }
499 497
500 /** 498 /**
@@ -503,10 +501,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
503 * @generated 501 * @generated
504 */ 502 */
505 @Override 503 @Override
506 public PatternBody createPatternBody() 504 public StringLiteral createStringLiteral()
507 { 505 {
508 PatternBodyImpl patternBody = new PatternBodyImpl(); 506 StringLiteralImpl stringLiteral = new StringLiteralImpl();
509 return patternBody; 507 return stringLiteral;
510 } 508 }
511 509
512 /** 510 /**
@@ -515,10 +513,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
515 * @generated 513 * @generated
516 */ 514 */
517 @Override 515 @Override
518 public Polarity createPolarity() 516 public MemberDefinition createMemberDefinition()
519 { 517 {
520 PolarityImpl polarity = new PolarityImpl(); 518 MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl();
521 return polarity; 519 return memberDefinition;
522 } 520 }
523 521
524 /** 522 /**
@@ -527,10 +525,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
527 * @generated 525 * @generated
528 */ 526 */
529 @Override 527 @Override
530 public Constraint createConstraint() 528 public Multiplicity createMultiplicity()
531 { 529 {
532 ConstraintImpl constraint = new ConstraintImpl(); 530 MultiplicityImpl multiplicity = new MultiplicityImpl();
533 return constraint; 531 return multiplicity;
534 } 532 }
535 533
536 /** 534 /**
@@ -539,10 +537,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
539 * @generated 537 * @generated
540 */ 538 */
541 @Override 539 @Override
542 public ClosureType createClosureType() 540 public ManyMultiplicity createManyMultiplicity()
543 { 541 {
544 ClosureTypeImpl closureType = new ClosureTypeImpl(); 542 ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl();
545 return closureType; 543 return manyMultiplicity;
546 } 544 }
547 545
548 /** 546 /**
@@ -551,10 +549,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
551 * @generated 549 * @generated
552 */ 550 */
553 @Override 551 @Override
554 public Literal createLiteral() 552 public ExactMultiplicity createExactMultiplicity()
555 { 553 {
556 LiteralImpl literal = new LiteralImpl(); 554 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
557 return literal; 555 return exactMultiplicity;
558 } 556 }
559 557
560 /** 558 /**
@@ -563,10 +561,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
563 * @generated 561 * @generated
564 */ 562 */
565 @Override 563 @Override
566 public Variable createVariable() 564 public BoundedMultiplicity createBoundedMultiplicity()
567 { 565 {
568 VariableImpl variable = new VariableImpl(); 566 BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl();
569 return variable; 567 return boundedMultiplicity;
570 } 568 }
571 569
572 /** 570 /**
@@ -575,10 +573,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
575 * @generated 573 * @generated
576 */ 574 */
577 @Override 575 @Override
578 public AllInstances createAllInstances() 576 public ScopeDefinition createScopeDefinition()
579 { 577 {
580 AllInstancesImpl allInstances = new AllInstancesImpl(); 578 ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl();
581 return allInstances; 579 return scopeDefinition;
582 } 580 }
583 581
584 /** 582 /**
@@ -587,10 +585,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
587 * @generated 585 * @generated
588 */ 586 */
589 @Override 587 @Override
590 public AllObjects createAllObjects() 588 public ExactScopeDefinition createExactScopeDefinition()
591 { 589 {
592 AllObjectsImpl allObjects = new AllObjectsImpl(); 590 ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl();
593 return allObjects; 591 return exactScopeDefinition;
594 } 592 }
595 593
596 /** 594 /**
@@ -599,10 +597,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
599 * @generated 597 * @generated
600 */ 598 */
601 @Override 599 @Override
602 public DefaultInterpretation createDefaultInterpretation() 600 public BoundedScopeDefinition createBoundedScopeDefinition()
603 { 601 {
604 DefaultInterpretationImpl defaultInterpretation = new DefaultInterpretationImpl(); 602 BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl();
605 return defaultInterpretation; 603 return boundedScopeDefinition;
606 } 604 }
607 605
608 /** 606 /**
@@ -611,10 +609,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
611 * @generated 609 * @generated
612 */ 610 */
613 @Override 611 @Override
614 public CDInterpretation createCDInterpretation() 612 public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition()
615 { 613 {
616 CDInterpretationImpl cdInterpretation = new CDInterpretationImpl(); 614 LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl();
617 return cdInterpretation; 615 return lowerBoundedScopeDefinition;
618 } 616 }
619 617
620 /** 618 /**
@@ -623,10 +621,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
623 * @generated 621 * @generated
624 */ 622 */
625 @Override 623 @Override
626 public ClassInterpretation createClassInterpretation() 624 public ObjectiveDefinition createObjectiveDefinition()
627 { 625 {
628 ClassInterpretationImpl classInterpretation = new ClassInterpretationImpl(); 626 ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl();
629 return classInterpretation; 627 return objectiveDefinition;
630 } 628 }
631 629
632 /** 630 /**
@@ -635,10 +633,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
635 * @generated 633 * @generated
636 */ 634 */
637 @Override 635 @Override
638 public EnumInterpretation createEnumInterpretation() 636 public NamedElement createNamedElement()
639 { 637 {
640 EnumInterpretationImpl enumInterpretation = new EnumInterpretationImpl(); 638 NamedElementImpl namedElement = new NamedElementImpl();
641 return enumInterpretation; 639 return namedElement;
642 } 640 }
643 641
644 /** 642 /**
@@ -647,10 +645,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
647 * @generated 645 * @generated
648 */ 646 */
649 @Override 647 @Override
650 public FieldRelationInterpretation createFieldRelationInterpretation() 648 public Assertion createAssertion()
651 { 649 {
652 FieldRelationInterpretationImpl fieldRelationInterpretation = new FieldRelationInterpretationImpl(); 650 AssertionImpl assertion = new AssertionImpl();
653 return fieldRelationInterpretation; 651 return assertion;
654 } 652 }
655 653
656 /** 654 /**
@@ -659,10 +657,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
659 * @generated 657 * @generated
660 */ 658 */
661 @Override 659 @Override
662 public GlobalRelationInterpretation createGlobalRelationInterpretation() 660 public Disjunction createDisjunction()
663 { 661 {
664 GlobalRelationInterpretationImpl globalRelationInterpretation = new GlobalRelationInterpretationImpl(); 662 DisjunctionImpl disjunction = new DisjunctionImpl();
665 return globalRelationInterpretation; 663 return disjunction;
666 } 664 }
667 665
668 /** 666 /**
@@ -671,10 +669,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
671 * @generated 669 * @generated
672 */ 670 */
673 @Override 671 @Override
674 public MultiplicityDefinition createMultiplicityDefinition() 672 public Switch createSwitch()
675 { 673 {
676 MultiplicityDefinitionImpl multiplicityDefinition = new MultiplicityDefinitionImpl(); 674 SwitchImpl switch_ = new SwitchImpl();
677 return multiplicityDefinition; 675 return switch_;
678 } 676 }
679 677
680 /** 678 /**
@@ -683,10 +681,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
683 * @generated 681 * @generated
684 */ 682 */
685 @Override 683 @Override
686 public BooleanTrue createBooleanTrue() 684 public Conjunction createConjunction()
687 { 685 {
688 BooleanTrueImpl booleanTrue = new BooleanTrueImpl(); 686 ConjunctionImpl conjunction = new ConjunctionImpl();
689 return booleanTrue; 687 return conjunction;
690 } 688 }
691 689
692 /** 690 /**
@@ -695,10 +693,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
695 * @generated 693 * @generated
696 */ 694 */
697 @Override 695 @Override
698 public BooleanFalse createBooleanFalse() 696 public Comparison createComparison()
699 { 697 {
700 BooleanFalseImpl booleanFalse = new BooleanFalseImpl(); 698 ComparisonImpl comparison = new ComparisonImpl();
701 return booleanFalse; 699 return comparison;
702 } 700 }
703 701
704 /** 702 /**
@@ -707,10 +705,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
707 * @generated 705 * @generated
708 */ 706 */
709 @Override 707 @Override
710 public True createTrue() 708 public BinaryExpression createBinaryExpression()
711 { 709 {
712 TrueImpl true_ = new TrueImpl(); 710 BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl();
713 return true_; 711 return binaryExpression;
714 } 712 }
715 713
716 /** 714 /**
@@ -719,10 +717,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
719 * @generated 717 * @generated
720 */ 718 */
721 @Override 719 @Override
722 public False createFalse() 720 public UnaryExpression createUnaryExpression()
723 { 721 {
724 FalseImpl false_ = new FalseImpl(); 722 UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl();
725 return false_; 723 return unaryExpression;
726 } 724 }
727 725
728 /** 726 /**
@@ -730,11 +728,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
730 * <!-- end-user-doc --> 728 * <!-- end-user-doc -->
731 * @generated 729 * @generated
732 */ 730 */
733 @Override 731 public MetricType createMetricTypeFromString(EDataType eDataType, String initialValue)
734 public Unknown createUnknown()
735 { 732 {
736 UnknownImpl unknown = new UnknownImpl(); 733 MetricType result = MetricType.get(initialValue);
737 return unknown; 734 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
735 return result;
738 } 736 }
739 737
740 /** 738 /**
@@ -742,11 +740,9 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
742 * <!-- end-user-doc --> 740 * <!-- end-user-doc -->
743 * @generated 741 * @generated
744 */ 742 */
745 @Override 743 public String convertMetricTypeToString(EDataType eDataType, Object instanceValue)
746 public org.eclipse.viatra.solver.language.solverLanguage.Error createError()
747 { 744 {
748 ErrorImpl error = new ErrorImpl(); 745 return instanceValue == null ? null : instanceValue.toString();
749 return error;
750 } 746 }
751 747
752 /** 748 /**
@@ -754,11 +750,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
754 * <!-- end-user-doc --> 750 * <!-- end-user-doc -->
755 * @generated 751 * @generated
756 */ 752 */
757 @Override 753 public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue)
758 public Positive createPositive()
759 { 754 {
760 PositiveImpl positive = new PositiveImpl(); 755 BinaryOperator result = BinaryOperator.get(initialValue);
761 return positive; 756 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
757 return result;
762 } 758 }
763 759
764 /** 760 /**
@@ -766,11 +762,9 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
766 * <!-- end-user-doc --> 762 * <!-- end-user-doc -->
767 * @generated 763 * @generated
768 */ 764 */
769 @Override 765 public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue)
770 public Negative createNegative()
771 { 766 {
772 NegativeImpl negative = new NegativeImpl(); 767 return instanceValue == null ? null : instanceValue.toString();
773 return negative;
774 } 768 }
775 769
776 /** 770 /**
@@ -778,11 +772,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
778 * <!-- end-user-doc --> 772 * <!-- end-user-doc -->
779 * @generated 773 * @generated
780 */ 774 */
781 @Override 775 public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue)
782 public ReflexiveClosure createReflexiveClosure()
783 { 776 {
784 ReflexiveClosureImpl reflexiveClosure = new ReflexiveClosureImpl(); 777 UnaryOp result = UnaryOp.get(initialValue);
785 return reflexiveClosure; 778 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
779 return result;
786 } 780 }
787 781
788 /** 782 /**
@@ -790,11 +784,75 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
790 * <!-- end-user-doc --> 784 * <!-- end-user-doc -->
791 * @generated 785 * @generated
792 */ 786 */
793 @Override 787 public String convertUnaryOpToString(EDataType eDataType, Object instanceValue)
794 public IrreflexiveClosure createIrreflexiveClosure() 788 {
789 return instanceValue == null ? null : instanceValue.toString();
790 }
791
792 /**
793 * <!-- begin-user-doc -->
794 * <!-- end-user-doc -->
795 * @generated
796 */
797 public AggregationOp createAggregationOpFromString(EDataType eDataType, String initialValue)
798 {
799 AggregationOp result = AggregationOp.get(initialValue);
800 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
801 return result;
802 }
803
804 /**
805 * <!-- begin-user-doc -->
806 * <!-- end-user-doc -->
807 * @generated
808 */
809 public String convertAggregationOpToString(EDataType eDataType, Object instanceValue)
810 {
811 return instanceValue == null ? null : instanceValue.toString();
812 }
813
814 /**
815 * <!-- begin-user-doc -->
816 * <!-- end-user-doc -->
817 * @generated
818 */
819 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue)
820 {
821 LogicValue result = LogicValue.get(initialValue);
822 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
823 return result;
824 }
825
826 /**
827 * <!-- begin-user-doc -->
828 * <!-- end-user-doc -->
829 * @generated
830 */
831 public String convertLogicValueToString(EDataType eDataType, Object instanceValue)
832 {
833 return instanceValue == null ? null : instanceValue.toString();
834 }
835
836 /**
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @generated
840 */
841 public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue)
842 {
843 ObjectiveKind result = ObjectiveKind.get(initialValue);
844 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
845 return result;
846 }
847
848 /**
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @generated
852 */
853 public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue)
795 { 854 {
796 IrreflexiveClosureImpl irreflexiveClosure = new IrreflexiveClosureImpl(); 855 return instanceValue == null ? null : instanceValue.toString();
797 return irreflexiveClosure;
798 } 856 }
799 857
800 /** 858 /**
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
index f617be3f..393a2545 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
@@ -1,67 +1,70 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EAttribute; 6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass; 7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage; 9import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference; 10import org.eclipse.emf.ecore.EReference;
10 11
11import org.eclipse.emf.ecore.impl.EPackageImpl; 12import org.eclipse.emf.ecore.impl.EPackageImpl;
12 13
13import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
14import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; 15import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp;
15import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; 16import org.eclipse.viatra.solver.language.solverLanguage.Argument;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; 17import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; 18import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; 19import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; 20import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; 21import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
21import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation; 22import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
22import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; 23import org.eclipse.viatra.solver.language.solverLanguage.Call;
23import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; 24import org.eclipse.viatra.solver.language.solverLanguage.Case;
24import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; 25import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
25import org.eclipse.viatra.solver.language.solverLanguage.Constraint; 26import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
26import org.eclipse.viatra.solver.language.solverLanguage.DataObject; 27import org.eclipse.viatra.solver.language.solverLanguage.Count;
27import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; 28import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 29import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 30import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 31import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
31import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 32import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
32import org.eclipse.viatra.solver.language.solverLanguage.False; 33import org.eclipse.viatra.solver.language.solverLanguage.Expression;
33import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 34import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
34import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; 35import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
35import org.eclipse.viatra.solver.language.solverLanguage.IntObject; 36import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
36import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; 37import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
37import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; 38import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
38import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; 39import org.eclipse.viatra.solver.language.solverLanguage.Interval;
39import org.eclipse.viatra.solver.language.solverLanguage.Literal; 40import org.eclipse.viatra.solver.language.solverLanguage.Literal;
40import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; 41import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
41import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; 42import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
42import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; 43import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.Negative; 44import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
44import org.eclipse.viatra.solver.language.solverLanguage.Parameter; 45import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
45import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol; 46import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
46import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; 47import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
47import org.eclipse.viatra.solver.language.solverLanguage.Polarity; 48import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
48import org.eclipse.viatra.solver.language.solverLanguage.Positive; 49import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
49import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 50import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
51import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
52import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
53import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
50import org.eclipse.viatra.solver.language.solverLanguage.Problem; 54import org.eclipse.viatra.solver.language.solverLanguage.Problem;
51import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 55import org.eclipse.viatra.solver.language.solverLanguage.Reference;
52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; 56import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
53import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
54import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory; 57import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
55import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 58import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
59import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
56import org.eclipse.viatra.solver.language.solverLanguage.Statement; 60import org.eclipse.viatra.solver.language.solverLanguage.Statement;
57import org.eclipse.viatra.solver.language.solverLanguage.StringObject; 61import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
58import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; 62import org.eclipse.viatra.solver.language.solverLanguage.Switch;
59import org.eclipse.viatra.solver.language.solverLanguage.Symbol; 63import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
60import org.eclipse.viatra.solver.language.solverLanguage.True; 64import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
61import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; 65import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
62import org.eclipse.viatra.solver.language.solverLanguage.Unknown; 66import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
63import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; 67import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
64import org.eclipse.viatra.solver.language.solverLanguage.Variable;
65 68
66/** 69/**
67 * <!-- begin-user-doc --> 70 * <!-- begin-user-doc -->
@@ -90,350 +93,350 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
90 * <!-- end-user-doc --> 93 * <!-- end-user-doc -->
91 * @generated 94 * @generated
92 */ 95 */
93 private EClass booleanValueEClass = null; 96 private EClass predicateDefinitionEClass = null;
94 97
95 /** 98 /**
96 * <!-- begin-user-doc --> 99 * <!-- begin-user-doc -->
97 * <!-- end-user-doc --> 100 * <!-- end-user-doc -->
98 * @generated 101 * @generated
99 */ 102 */
100 private EClass truthValueEClass = null; 103 private EClass unnamedErrorPrediateDefinitionEClass = null;
101 104
102 /** 105 /**
103 * <!-- begin-user-doc --> 106 * <!-- begin-user-doc -->
104 * <!-- end-user-doc --> 107 * <!-- end-user-doc -->
105 * @generated 108 * @generated
106 */ 109 */
107 private EClass interpretationEClass = null; 110 private EClass defaultDefinitionEClass = null;
108 111
109 /** 112 /**
110 * <!-- begin-user-doc --> 113 * <!-- begin-user-doc -->
111 * <!-- end-user-doc --> 114 * <!-- end-user-doc -->
112 * @generated 115 * @generated
113 */ 116 */
114 private EClass basicInterpretationEClass = null; 117 private EClass externPredicateDefinitionEClass = null;
115 118
116 /** 119 /**
117 * <!-- begin-user-doc --> 120 * <!-- begin-user-doc -->
118 * <!-- end-user-doc --> 121 * <!-- end-user-doc -->
119 * @generated 122 * @generated
120 */ 123 */
121 private EClass symbolEClass = null; 124 private EClass metricDefinitionEClass = null;
122 125
123 /** 126 /**
124 * <!-- begin-user-doc --> 127 * <!-- begin-user-doc -->
125 * <!-- end-user-doc --> 128 * <!-- end-user-doc -->
126 * @generated 129 * @generated
127 */ 130 */
128 private EClass modelSymbolEClass = null; 131 private EClass externMetricDefinitionEClass = null;
129 132
130 /** 133 /**
131 * <!-- begin-user-doc --> 134 * <!-- begin-user-doc -->
132 * <!-- end-user-doc --> 135 * <!-- end-user-doc -->
133 * @generated 136 * @generated
134 */ 137 */
135 private EClass partialitySymbolEClass = null; 138 private EClass expressionEClass = null;
136 139
137 /** 140 /**
138 * <!-- begin-user-doc --> 141 * <!-- begin-user-doc -->
139 * <!-- end-user-doc --> 142 * <!-- end-user-doc -->
140 * @generated 143 * @generated
141 */ 144 */
142 private EClass existSymbolEClass = null; 145 private EClass ifElseEClass = null;
143 146
144 /** 147 /**
145 * <!-- begin-user-doc --> 148 * <!-- begin-user-doc -->
146 * <!-- end-user-doc --> 149 * <!-- end-user-doc -->
147 * @generated 150 * @generated
148 */ 151 */
149 private EClass equalsSymbolEClass = null; 152 private EClass caseEClass = null;
150 153
151 /** 154 /**
152 * <!-- begin-user-doc --> 155 * <!-- begin-user-doc -->
153 * <!-- end-user-doc --> 156 * <!-- end-user-doc -->
154 * @generated 157 * @generated
155 */ 158 */
156 private EClass dataSymbolEClass = null; 159 private EClass countEClass = null;
157 160
158 /** 161 /**
159 * <!-- begin-user-doc --> 162 * <!-- begin-user-doc -->
160 * <!-- end-user-doc --> 163 * <!-- end-user-doc -->
161 * @generated 164 * @generated
162 */ 165 */
163 private EClass booleanSymbolEClass = null; 166 private EClass aggregationEClass = null;
164 167
165 /** 168 /**
166 * <!-- begin-user-doc --> 169 * <!-- begin-user-doc -->
167 * <!-- end-user-doc --> 170 * <!-- end-user-doc -->
168 * @generated 171 * @generated
169 */ 172 */
170 private EClass integerSymbolEClass = null; 173 private EClass callEClass = null;
171 174
172 /** 175 /**
173 * <!-- begin-user-doc --> 176 * <!-- begin-user-doc -->
174 * <!-- end-user-doc --> 177 * <!-- end-user-doc -->
175 * @generated 178 * @generated
176 */ 179 */
177 private EClass realSymbolEClass = null; 180 private EClass argumentListEClass = null;
178 181
179 /** 182 /**
180 * <!-- begin-user-doc --> 183 * <!-- begin-user-doc -->
181 * <!-- end-user-doc --> 184 * <!-- end-user-doc -->
182 * @generated 185 * @generated
183 */ 186 */
184 private EClass stringSymbolEClass = null; 187 private EClass argumentEClass = null;
185 188
186 /** 189 /**
187 * <!-- begin-user-doc --> 190 * <!-- begin-user-doc -->
188 * <!-- end-user-doc --> 191 * <!-- end-user-doc -->
189 * @generated 192 * @generated
190 */ 193 */
191 private EClass complexObjectEClass = null; 194 private EClass expressionArgumentEClass = null;
192 195
193 /** 196 /**
194 * <!-- begin-user-doc --> 197 * <!-- begin-user-doc -->
195 * <!-- end-user-doc --> 198 * <!-- end-user-doc -->
196 * @generated 199 * @generated
197 */ 200 */
198 private EClass objectEClass = null; 201 private EClass starArgumentEClass = null;
199 202
200 /** 203 /**
201 * <!-- begin-user-doc --> 204 * <!-- begin-user-doc -->
202 * <!-- end-user-doc --> 205 * <!-- end-user-doc -->
203 * @generated 206 * @generated
204 */ 207 */
205 private EClass namedObjectEClass = null; 208 private EClass typedArgumentEClass = null;
206 209
207 /** 210 /**
208 * <!-- begin-user-doc --> 211 * <!-- begin-user-doc -->
209 * <!-- end-user-doc --> 212 * <!-- end-user-doc -->
210 * @generated 213 * @generated
211 */ 214 */
212 private EClass unnamedObjectEClass = null; 215 private EClass typedStarArgumentEClass = null;
213 216
214 /** 217 /**
215 * <!-- begin-user-doc --> 218 * <!-- begin-user-doc -->
216 * <!-- end-user-doc --> 219 * <!-- end-user-doc -->
217 * @generated 220 * @generated
218 */ 221 */
219 private EClass dataObjectEClass = null; 222 private EClass referenceEClass = null;
220 223
221 /** 224 /**
222 * <!-- begin-user-doc --> 225 * <!-- begin-user-doc -->
223 * <!-- end-user-doc --> 226 * <!-- end-user-doc -->
224 * @generated 227 * @generated
225 */ 228 */
226 private EClass booleanObjectEClass = null; 229 private EClass intervalEClass = null;
227 230
228 /** 231 /**
229 * <!-- begin-user-doc --> 232 * <!-- begin-user-doc -->
230 * <!-- end-user-doc --> 233 * <!-- end-user-doc -->
231 * @generated 234 * @generated
232 */ 235 */
233 private EClass intObjectEClass = null; 236 private EClass literalEClass = null;
234 237
235 /** 238 /**
236 * <!-- begin-user-doc --> 239 * <!-- begin-user-doc -->
237 * <!-- end-user-doc --> 240 * <!-- end-user-doc -->
238 * @generated 241 * @generated
239 */ 242 */
240 private EClass realObjectEClass = null; 243 private EClass logicLiteralEClass = null;
241 244
242 /** 245 /**
243 * <!-- begin-user-doc --> 246 * <!-- begin-user-doc -->
244 * <!-- end-user-doc --> 247 * <!-- end-user-doc -->
245 * @generated 248 * @generated
246 */ 249 */
247 private EClass stringObjectEClass = null; 250 private EClass numericLiteralEClass = null;
248 251
249 /** 252 /**
250 * <!-- begin-user-doc --> 253 * <!-- begin-user-doc -->
251 * <!-- end-user-doc --> 254 * <!-- end-user-doc -->
252 * @generated 255 * @generated
253 */ 256 */
254 private EClass predicateEClass = null; 257 private EClass infinityLiteralEClass = null;
255 258
256 /** 259 /**
257 * <!-- begin-user-doc --> 260 * <!-- begin-user-doc -->
258 * <!-- end-user-doc --> 261 * <!-- end-user-doc -->
259 * @generated 262 * @generated
260 */ 263 */
261 private EClass parameterEClass = null; 264 private EClass emptyIntervalLiteralEClass = null;
262 265
263 /** 266 /**
264 * <!-- begin-user-doc --> 267 * <!-- begin-user-doc -->
265 * <!-- end-user-doc --> 268 * <!-- end-user-doc -->
266 * @generated 269 * @generated
267 */ 270 */
268 private EClass patternBodyEClass = null; 271 private EClass stringLiteralEClass = null;
269 272
270 /** 273 /**
271 * <!-- begin-user-doc --> 274 * <!-- begin-user-doc -->
272 * <!-- end-user-doc --> 275 * <!-- end-user-doc -->
273 * @generated 276 * @generated
274 */ 277 */
275 private EClass polarityEClass = null; 278 private EClass memberDefinitionEClass = null;
276 279
277 /** 280 /**
278 * <!-- begin-user-doc --> 281 * <!-- begin-user-doc -->
279 * <!-- end-user-doc --> 282 * <!-- end-user-doc -->
280 * @generated 283 * @generated
281 */ 284 */
282 private EClass constraintEClass = null; 285 private EClass multiplicityEClass = null;
283 286
284 /** 287 /**
285 * <!-- begin-user-doc --> 288 * <!-- begin-user-doc -->
286 * <!-- end-user-doc --> 289 * <!-- end-user-doc -->
287 * @generated 290 * @generated
288 */ 291 */
289 private EClass closureTypeEClass = null; 292 private EClass manyMultiplicityEClass = null;
290 293
291 /** 294 /**
292 * <!-- begin-user-doc --> 295 * <!-- begin-user-doc -->
293 * <!-- end-user-doc --> 296 * <!-- end-user-doc -->
294 * @generated 297 * @generated
295 */ 298 */
296 private EClass literalEClass = null; 299 private EClass exactMultiplicityEClass = null;
297 300
298 /** 301 /**
299 * <!-- begin-user-doc --> 302 * <!-- begin-user-doc -->
300 * <!-- end-user-doc --> 303 * <!-- end-user-doc -->
301 * @generated 304 * @generated
302 */ 305 */
303 private EClass variableEClass = null; 306 private EClass boundedMultiplicityEClass = null;
304 307
305 /** 308 /**
306 * <!-- begin-user-doc --> 309 * <!-- begin-user-doc -->
307 * <!-- end-user-doc --> 310 * <!-- end-user-doc -->
308 * @generated 311 * @generated
309 */ 312 */
310 private EClass allInstancesEClass = null; 313 private EClass scopeDefinitionEClass = null;
311 314
312 /** 315 /**
313 * <!-- begin-user-doc --> 316 * <!-- begin-user-doc -->
314 * <!-- end-user-doc --> 317 * <!-- end-user-doc -->
315 * @generated 318 * @generated
316 */ 319 */
317 private EClass allObjectsEClass = null; 320 private EClass exactScopeDefinitionEClass = null;
318 321
319 /** 322 /**
320 * <!-- begin-user-doc --> 323 * <!-- begin-user-doc -->
321 * <!-- end-user-doc --> 324 * <!-- end-user-doc -->
322 * @generated 325 * @generated
323 */ 326 */
324 private EClass defaultInterpretationEClass = null; 327 private EClass boundedScopeDefinitionEClass = null;
325 328
326 /** 329 /**
327 * <!-- begin-user-doc --> 330 * <!-- begin-user-doc -->
328 * <!-- end-user-doc --> 331 * <!-- end-user-doc -->
329 * @generated 332 * @generated
330 */ 333 */
331 private EClass cdInterpretationEClass = null; 334 private EClass lowerBoundedScopeDefinitionEClass = null;
332 335
333 /** 336 /**
334 * <!-- begin-user-doc --> 337 * <!-- begin-user-doc -->
335 * <!-- end-user-doc --> 338 * <!-- end-user-doc -->
336 * @generated 339 * @generated
337 */ 340 */
338 private EClass classInterpretationEClass = null; 341 private EClass objectiveDefinitionEClass = null;
339 342
340 /** 343 /**
341 * <!-- begin-user-doc --> 344 * <!-- begin-user-doc -->
342 * <!-- end-user-doc --> 345 * <!-- end-user-doc -->
343 * @generated 346 * @generated
344 */ 347 */
345 private EClass enumInterpretationEClass = null; 348 private EClass namedElementEClass = null;
346 349
347 /** 350 /**
348 * <!-- begin-user-doc --> 351 * <!-- begin-user-doc -->
349 * <!-- end-user-doc --> 352 * <!-- end-user-doc -->
350 * @generated 353 * @generated
351 */ 354 */
352 private EClass fieldRelationInterpretationEClass = null; 355 private EClass assertionEClass = null;
353 356
354 /** 357 /**
355 * <!-- begin-user-doc --> 358 * <!-- begin-user-doc -->
356 * <!-- end-user-doc --> 359 * <!-- end-user-doc -->
357 * @generated 360 * @generated
358 */ 361 */
359 private EClass globalRelationInterpretationEClass = null; 362 private EClass disjunctionEClass = null;
360 363
361 /** 364 /**
362 * <!-- begin-user-doc --> 365 * <!-- begin-user-doc -->
363 * <!-- end-user-doc --> 366 * <!-- end-user-doc -->
364 * @generated 367 * @generated
365 */ 368 */
366 private EClass multiplicityDefinitionEClass = null; 369 private EClass switchEClass = null;
367 370
368 /** 371 /**
369 * <!-- begin-user-doc --> 372 * <!-- begin-user-doc -->
370 * <!-- end-user-doc --> 373 * <!-- end-user-doc -->
371 * @generated 374 * @generated
372 */ 375 */
373 private EClass booleanTrueEClass = null; 376 private EClass conjunctionEClass = null;
374 377
375 /** 378 /**
376 * <!-- begin-user-doc --> 379 * <!-- begin-user-doc -->
377 * <!-- end-user-doc --> 380 * <!-- end-user-doc -->
378 * @generated 381 * @generated
379 */ 382 */
380 private EClass booleanFalseEClass = null; 383 private EClass comparisonEClass = null;
381 384
382 /** 385 /**
383 * <!-- begin-user-doc --> 386 * <!-- begin-user-doc -->
384 * <!-- end-user-doc --> 387 * <!-- end-user-doc -->
385 * @generated 388 * @generated
386 */ 389 */
387 private EClass trueEClass = null; 390 private EClass binaryExpressionEClass = null;
388 391
389 /** 392 /**
390 * <!-- begin-user-doc --> 393 * <!-- begin-user-doc -->
391 * <!-- end-user-doc --> 394 * <!-- end-user-doc -->
392 * @generated 395 * @generated
393 */ 396 */
394 private EClass falseEClass = null; 397 private EClass unaryExpressionEClass = null;
395 398
396 /** 399 /**
397 * <!-- begin-user-doc --> 400 * <!-- begin-user-doc -->
398 * <!-- end-user-doc --> 401 * <!-- end-user-doc -->
399 * @generated 402 * @generated
400 */ 403 */
401 private EClass unknownEClass = null; 404 private EEnum metricTypeEEnum = null;
402 405
403 /** 406 /**
404 * <!-- begin-user-doc --> 407 * <!-- begin-user-doc -->
405 * <!-- end-user-doc --> 408 * <!-- end-user-doc -->
406 * @generated 409 * @generated
407 */ 410 */
408 private EClass errorEClass = null; 411 private EEnum binaryOperatorEEnum = null;
409 412
410 /** 413 /**
411 * <!-- begin-user-doc --> 414 * <!-- begin-user-doc -->
412 * <!-- end-user-doc --> 415 * <!-- end-user-doc -->
413 * @generated 416 * @generated
414 */ 417 */
415 private EClass positiveEClass = null; 418 private EEnum unaryOpEEnum = null;
416 419
417 /** 420 /**
418 * <!-- begin-user-doc --> 421 * <!-- begin-user-doc -->
419 * <!-- end-user-doc --> 422 * <!-- end-user-doc -->
420 * @generated 423 * @generated
421 */ 424 */
422 private EClass negativeEClass = null; 425 private EEnum aggregationOpEEnum = null;
423 426
424 /** 427 /**
425 * <!-- begin-user-doc --> 428 * <!-- begin-user-doc -->
426 * <!-- end-user-doc --> 429 * <!-- end-user-doc -->
427 * @generated 430 * @generated
428 */ 431 */
429 private EClass reflexiveClosureEClass = null; 432 private EEnum logicValueEEnum = null;
430 433
431 /** 434 /**
432 * <!-- begin-user-doc --> 435 * <!-- begin-user-doc -->
433 * <!-- end-user-doc --> 436 * <!-- end-user-doc -->
434 * @generated 437 * @generated
435 */ 438 */
436 private EClass irreflexiveClosureEClass = null; 439 private EEnum objectiveKindEEnum = null;
437 440
438 /** 441 /**
439 * Creates an instance of the model <b>Package</b>, registered with 442 * Creates an instance of the model <b>Package</b>, registered with
@@ -537,9 +540,108 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
537 * @generated 540 * @generated
538 */ 541 */
539 @Override 542 @Override
540 public EClass getBooleanValue() 543 public EAttribute getStatement_Abstract()
544 {
545 return (EAttribute)statementEClass.getEStructuralFeatures().get(0);
546 }
547
548 /**
549 * <!-- begin-user-doc -->
550 * <!-- end-user-doc -->
551 * @generated
552 */
553 @Override
554 public EAttribute getStatement_Name()
555 {
556 return (EAttribute)statementEClass.getEStructuralFeatures().get(1);
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 @Override
565 public EReference getStatement_Superclasses()
566 {
567 return (EReference)statementEClass.getEStructuralFeatures().get(2);
568 }
569
570 /**
571 * <!-- begin-user-doc -->
572 * <!-- end-user-doc -->
573 * @generated
574 */
575 @Override
576 public EReference getStatement_Members()
577 {
578 return (EReference)statementEClass.getEStructuralFeatures().get(3);
579 }
580
581 /**
582 * <!-- begin-user-doc -->
583 * <!-- end-user-doc -->
584 * @generated
585 */
586 @Override
587 public EClass getPredicateDefinition()
588 {
589 return predicateDefinitionEClass;
590 }
591
592 /**
593 * <!-- begin-user-doc -->
594 * <!-- end-user-doc -->
595 * @generated
596 */
597 @Override
598 public EReference getPredicateDefinition_Head()
599 {
600 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0);
601 }
602
603 /**
604 * <!-- begin-user-doc -->
605 * <!-- end-user-doc -->
606 * @generated
607 */
608 @Override
609 public EReference getPredicateDefinition_Body()
610 {
611 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1);
612 }
613
614 /**
615 * <!-- begin-user-doc -->
616 * <!-- end-user-doc -->
617 * @generated
618 */
619 @Override
620 public EAttribute getPredicateDefinition_Functional()
621 {
622 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2);
623 }
624
625 /**
626 * <!-- begin-user-doc -->
627 * <!-- end-user-doc -->
628 * @generated
629 */
630 @Override
631 public EAttribute getPredicateDefinition_Error()
632 {
633 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3);
634 }
635
636 /**
637 * <!-- begin-user-doc -->
638 * <!-- end-user-doc -->
639 * @generated
640 */
641 @Override
642 public EClass getUnnamedErrorPrediateDefinition()
541 { 643 {
542 return booleanValueEClass; 644 return unnamedErrorPrediateDefinitionEClass;
543 } 645 }
544 646
545 /** 647 /**
@@ -548,9 +650,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
548 * @generated 650 * @generated
549 */ 651 */
550 @Override 652 @Override
551 public EClass getTruthValue() 653 public EReference getUnnamedErrorPrediateDefinition_ArgumentList()
552 { 654 {
553 return truthValueEClass; 655 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0);
554 } 656 }
555 657
556 /** 658 /**
@@ -559,9 +661,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
559 * @generated 661 * @generated
560 */ 662 */
561 @Override 663 @Override
562 public EClass getInterpretation() 664 public EReference getUnnamedErrorPrediateDefinition_Body()
563 { 665 {
564 return interpretationEClass; 666 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1);
565 } 667 }
566 668
567 /** 669 /**
@@ -570,9 +672,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
570 * @generated 672 * @generated
571 */ 673 */
572 @Override 674 @Override
573 public EClass getBasicInterpretation() 675 public EClass getDefaultDefinition()
574 { 676 {
575 return basicInterpretationEClass; 677 return defaultDefinitionEClass;
576 } 678 }
577 679
578 /** 680 /**
@@ -581,9 +683,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
581 * @generated 683 * @generated
582 */ 684 */
583 @Override 685 @Override
584 public EReference getBasicInterpretation_Symbol() 686 public EReference getDefaultDefinition_Head()
585 { 687 {
586 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(0); 688 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0);
587 } 689 }
588 690
589 /** 691 /**
@@ -592,9 +694,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
592 * @generated 694 * @generated
593 */ 695 */
594 @Override 696 @Override
595 public EReference getBasicInterpretation_Objects() 697 public EReference getDefaultDefinition_Range()
596 { 698 {
597 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(1); 699 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1);
598 } 700 }
599 701
600 /** 702 /**
@@ -603,9 +705,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
603 * @generated 705 * @generated
604 */ 706 */
605 @Override 707 @Override
606 public EReference getBasicInterpretation_Value() 708 public EClass getExternPredicateDefinition()
607 { 709 {
608 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(2); 710 return externPredicateDefinitionEClass;
609 } 711 }
610 712
611 /** 713 /**
@@ -614,9 +716,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
614 * @generated 716 * @generated
615 */ 717 */
616 @Override 718 @Override
617 public EClass getSymbol() 719 public EReference getExternPredicateDefinition_Head()
618 { 720 {
619 return symbolEClass; 721 return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(0);
620 } 722 }
621 723
622 /** 724 /**
@@ -625,9 +727,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
625 * @generated 727 * @generated
626 */ 728 */
627 @Override 729 @Override
628 public EClass getModelSymbol() 730 public EClass getMetricDefinition()
629 { 731 {
630 return modelSymbolEClass; 732 return metricDefinitionEClass;
631 } 733 }
632 734
633 /** 735 /**
@@ -636,9 +738,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
636 * @generated 738 * @generated
637 */ 739 */
638 @Override 740 @Override
639 public EAttribute getModelSymbol_Name() 741 public EReference getMetricDefinition_Head()
640 { 742 {
641 return (EAttribute)modelSymbolEClass.getEStructuralFeatures().get(0); 743 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0);
642 } 744 }
643 745
644 /** 746 /**
@@ -647,9 +749,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
647 * @generated 749 * @generated
648 */ 750 */
649 @Override 751 @Override
650 public EClass getPartialitySymbol() 752 public EReference getMetricDefinition_Body()
651 { 753 {
652 return partialitySymbolEClass; 754 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1);
653 } 755 }
654 756
655 /** 757 /**
@@ -658,9 +760,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
658 * @generated 760 * @generated
659 */ 761 */
660 @Override 762 @Override
661 public EClass getExistSymbol() 763 public EAttribute getMetricDefinition_Type()
662 { 764 {
663 return existSymbolEClass; 765 return (EAttribute)metricDefinitionEClass.getEStructuralFeatures().get(2);
664 } 766 }
665 767
666 /** 768 /**
@@ -669,9 +771,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
669 * @generated 771 * @generated
670 */ 772 */
671 @Override 773 @Override
672 public EClass getEqualsSymbol() 774 public EClass getExternMetricDefinition()
673 { 775 {
674 return equalsSymbolEClass; 776 return externMetricDefinitionEClass;
675 } 777 }
676 778
677 /** 779 /**
@@ -680,9 +782,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
680 * @generated 782 * @generated
681 */ 783 */
682 @Override 784 @Override
683 public EClass getDataSymbol() 785 public EAttribute getExternMetricDefinition_Type()
684 { 786 {
685 return dataSymbolEClass; 787 return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(0);
686 } 788 }
687 789
688 /** 790 /**
@@ -691,9 +793,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
691 * @generated 793 * @generated
692 */ 794 */
693 @Override 795 @Override
694 public EClass getBooleanSymbol() 796 public EReference getExternMetricDefinition_Head()
695 { 797 {
696 return booleanSymbolEClass; 798 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(1);
697 } 799 }
698 800
699 /** 801 /**
@@ -702,9 +804,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
702 * @generated 804 * @generated
703 */ 805 */
704 @Override 806 @Override
705 public EClass getIntegerSymbol() 807 public EClass getExpression()
706 { 808 {
707 return integerSymbolEClass; 809 return expressionEClass;
708 } 810 }
709 811
710 /** 812 /**
@@ -713,9 +815,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
713 * @generated 815 * @generated
714 */ 816 */
715 @Override 817 @Override
716 public EClass getRealSymbol() 818 public EClass getIfElse()
717 { 819 {
718 return realSymbolEClass; 820 return ifElseEClass;
719 } 821 }
720 822
721 /** 823 /**
@@ -724,9 +826,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
724 * @generated 826 * @generated
725 */ 827 */
726 @Override 828 @Override
727 public EClass getStringSymbol() 829 public EReference getIfElse_Condition()
728 { 830 {
729 return stringSymbolEClass; 831 return (EReference)ifElseEClass.getEStructuralFeatures().get(0);
730 } 832 }
731 833
732 /** 834 /**
@@ -735,9 +837,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
735 * @generated 837 * @generated
736 */ 838 */
737 @Override 839 @Override
738 public EClass getComplexObject() 840 public EReference getIfElse_Then()
739 { 841 {
740 return complexObjectEClass; 842 return (EReference)ifElseEClass.getEStructuralFeatures().get(1);
741 } 843 }
742 844
743 /** 845 /**
@@ -746,9 +848,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
746 * @generated 848 * @generated
747 */ 849 */
748 @Override 850 @Override
749 public EClass getObject() 851 public EReference getIfElse_Else()
750 { 852 {
751 return objectEClass; 853 return (EReference)ifElseEClass.getEStructuralFeatures().get(2);
752 } 854 }
753 855
754 /** 856 /**
@@ -757,9 +859,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
757 * @generated 859 * @generated
758 */ 860 */
759 @Override 861 @Override
760 public EClass getNamedObject() 862 public EClass getCase()
761 { 863 {
762 return namedObjectEClass; 864 return caseEClass;
763 } 865 }
764 866
765 /** 867 /**
@@ -768,9 +870,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
768 * @generated 870 * @generated
769 */ 871 */
770 @Override 872 @Override
771 public EAttribute getNamedObject_Name() 873 public EReference getCase_Condition()
772 { 874 {
773 return (EAttribute)namedObjectEClass.getEStructuralFeatures().get(0); 875 return (EReference)caseEClass.getEStructuralFeatures().get(0);
774 } 876 }
775 877
776 /** 878 /**
@@ -779,9 +881,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
779 * @generated 881 * @generated
780 */ 882 */
781 @Override 883 @Override
782 public EClass getUnnamedObject() 884 public EReference getCase_Body()
783 { 885 {
784 return unnamedObjectEClass; 886 return (EReference)caseEClass.getEStructuralFeatures().get(1);
785 } 887 }
786 888
787 /** 889 /**
@@ -790,9 +892,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
790 * @generated 892 * @generated
791 */ 893 */
792 @Override 894 @Override
793 public EAttribute getUnnamedObject_Name() 895 public EClass getCount()
794 { 896 {
795 return (EAttribute)unnamedObjectEClass.getEStructuralFeatures().get(0); 897 return countEClass;
796 } 898 }
797 899
798 /** 900 /**
@@ -801,9 +903,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
801 * @generated 903 * @generated
802 */ 904 */
803 @Override 905 @Override
804 public EClass getDataObject() 906 public EReference getCount_Body()
805 { 907 {
806 return dataObjectEClass; 908 return (EReference)countEClass.getEStructuralFeatures().get(0);
807 } 909 }
808 910
809 /** 911 /**
@@ -812,9 +914,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
812 * @generated 914 * @generated
813 */ 915 */
814 @Override 916 @Override
815 public EClass getBooleanObject() 917 public EClass getAggregation()
816 { 918 {
817 return booleanObjectEClass; 919 return aggregationEClass;
818 } 920 }
819 921
820 /** 922 /**
@@ -823,9 +925,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
823 * @generated 925 * @generated
824 */ 926 */
825 @Override 927 @Override
826 public EReference getBooleanObject_Value() 928 public EAttribute getAggregation_Op()
827 { 929 {
828 return (EReference)booleanObjectEClass.getEStructuralFeatures().get(0); 930 return (EAttribute)aggregationEClass.getEStructuralFeatures().get(0);
829 } 931 }
830 932
831 /** 933 /**
@@ -834,9 +936,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
834 * @generated 936 * @generated
835 */ 937 */
836 @Override 938 @Override
837 public EClass getIntObject() 939 public EReference getAggregation_Body()
838 { 940 {
839 return intObjectEClass; 941 return (EReference)aggregationEClass.getEStructuralFeatures().get(1);
840 } 942 }
841 943
842 /** 944 /**
@@ -845,9 +947,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
845 * @generated 947 * @generated
846 */ 948 */
847 @Override 949 @Override
848 public EAttribute getIntObject_Value() 950 public EReference getAggregation_Condition()
849 { 951 {
850 return (EAttribute)intObjectEClass.getEStructuralFeatures().get(0); 952 return (EReference)aggregationEClass.getEStructuralFeatures().get(2);
851 } 953 }
852 954
853 /** 955 /**
@@ -856,9 +958,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
856 * @generated 958 * @generated
857 */ 959 */
858 @Override 960 @Override
859 public EClass getRealObject() 961 public EClass getCall()
860 { 962 {
861 return realObjectEClass; 963 return callEClass;
862 } 964 }
863 965
864 /** 966 /**
@@ -867,9 +969,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
867 * @generated 969 * @generated
868 */ 970 */
869 @Override 971 @Override
870 public EAttribute getRealObject_Value() 972 public EReference getCall_Functor()
871 { 973 {
872 return (EAttribute)realObjectEClass.getEStructuralFeatures().get(0); 974 return (EReference)callEClass.getEStructuralFeatures().get(0);
873 } 975 }
874 976
875 /** 977 /**
@@ -878,9 +980,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
878 * @generated 980 * @generated
879 */ 981 */
880 @Override 982 @Override
881 public EClass getStringObject() 983 public EReference getCall_ArgumentList()
882 { 984 {
883 return stringObjectEClass; 985 return (EReference)callEClass.getEStructuralFeatures().get(1);
884 } 986 }
885 987
886 /** 988 /**
@@ -889,9 +991,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
889 * @generated 991 * @generated
890 */ 992 */
891 @Override 993 @Override
892 public EAttribute getStringObject_Value() 994 public EAttribute getCall_TransitiveClosure()
893 { 995 {
894 return (EAttribute)stringObjectEClass.getEStructuralFeatures().get(0); 996 return (EAttribute)callEClass.getEStructuralFeatures().get(2);
895 } 997 }
896 998
897 /** 999 /**
@@ -900,9 +1002,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
900 * @generated 1002 * @generated
901 */ 1003 */
902 @Override 1004 @Override
903 public EClass getPredicate() 1005 public EAttribute getCall_ReflexiveTransitiveClosure()
904 { 1006 {
905 return predicateEClass; 1007 return (EAttribute)callEClass.getEStructuralFeatures().get(3);
906 } 1008 }
907 1009
908 /** 1010 /**
@@ -911,9 +1013,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
911 * @generated 1013 * @generated
912 */ 1014 */
913 @Override 1015 @Override
914 public EAttribute getPredicate_IsError() 1016 public EClass getArgumentList()
915 { 1017 {
916 return (EAttribute)predicateEClass.getEStructuralFeatures().get(0); 1018 return argumentListEClass;
917 } 1019 }
918 1020
919 /** 1021 /**
@@ -922,9 +1024,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
922 * @generated 1024 * @generated
923 */ 1025 */
924 @Override 1026 @Override
925 public EReference getPredicate_Symbol() 1027 public EReference getArgumentList_Arguments()
926 { 1028 {
927 return (EReference)predicateEClass.getEStructuralFeatures().get(1); 1029 return (EReference)argumentListEClass.getEStructuralFeatures().get(0);
928 } 1030 }
929 1031
930 /** 1032 /**
@@ -933,9 +1035,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
933 * @generated 1035 * @generated
934 */ 1036 */
935 @Override 1037 @Override
936 public EReference getPredicate_Parameters() 1038 public EClass getArgument()
937 { 1039 {
938 return (EReference)predicateEClass.getEStructuralFeatures().get(2); 1040 return argumentEClass;
939 } 1041 }
940 1042
941 /** 1043 /**
@@ -944,9 +1046,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
944 * @generated 1046 * @generated
945 */ 1047 */
946 @Override 1048 @Override
947 public EReference getPredicate_Bodies() 1049 public EClass getExpressionArgument()
948 { 1050 {
949 return (EReference)predicateEClass.getEStructuralFeatures().get(3); 1051 return expressionArgumentEClass;
950 } 1052 }
951 1053
952 /** 1054 /**
@@ -955,9 +1057,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
955 * @generated 1057 * @generated
956 */ 1058 */
957 @Override 1059 @Override
958 public EClass getParameter() 1060 public EReference getExpressionArgument_Body()
959 { 1061 {
960 return parameterEClass; 1062 return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0);
961 } 1063 }
962 1064
963 /** 1065 /**
@@ -966,9 +1068,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
966 * @generated 1068 * @generated
967 */ 1069 */
968 @Override 1070 @Override
969 public EReference getParameter_Variable() 1071 public EClass getStarArgument()
970 { 1072 {
971 return (EReference)parameterEClass.getEStructuralFeatures().get(0); 1073 return starArgumentEClass;
972 } 1074 }
973 1075
974 /** 1076 /**
@@ -977,9 +1079,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
977 * @generated 1079 * @generated
978 */ 1080 */
979 @Override 1081 @Override
980 public EReference getParameter_Type() 1082 public EClass getTypedArgument()
981 { 1083 {
982 return (EReference)parameterEClass.getEStructuralFeatures().get(1); 1084 return typedArgumentEClass;
983 } 1085 }
984 1086
985 /** 1087 /**
@@ -988,9 +1090,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
988 * @generated 1090 * @generated
989 */ 1091 */
990 @Override 1092 @Override
991 public EClass getPatternBody() 1093 public EReference getTypedArgument_Type()
992 { 1094 {
993 return patternBodyEClass; 1095 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0);
994 } 1096 }
995 1097
996 /** 1098 /**
@@ -999,9 +1101,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
999 * @generated 1101 * @generated
1000 */ 1102 */
1001 @Override 1103 @Override
1002 public EReference getPatternBody_Constraints() 1104 public EReference getTypedArgument_Variable()
1003 { 1105 {
1004 return (EReference)patternBodyEClass.getEStructuralFeatures().get(0); 1106 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1);
1005 } 1107 }
1006 1108
1007 /** 1109 /**
@@ -1010,9 +1112,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1010 * @generated 1112 * @generated
1011 */ 1113 */
1012 @Override 1114 @Override
1013 public EClass getPolarity() 1115 public EClass getTypedStarArgument()
1014 { 1116 {
1015 return polarityEClass; 1117 return typedStarArgumentEClass;
1016 } 1118 }
1017 1119
1018 /** 1120 /**
@@ -1021,9 +1123,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1021 * @generated 1123 * @generated
1022 */ 1124 */
1023 @Override 1125 @Override
1024 public EClass getConstraint() 1126 public EReference getTypedStarArgument_Type()
1025 { 1127 {
1026 return constraintEClass; 1128 return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0);
1027 } 1129 }
1028 1130
1029 /** 1131 /**
@@ -1032,9 +1134,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1032 * @generated 1134 * @generated
1033 */ 1135 */
1034 @Override 1136 @Override
1035 public EReference getConstraint_Polarity() 1137 public EClass getReference()
1036 { 1138 {
1037 return (EReference)constraintEClass.getEStructuralFeatures().get(0); 1139 return referenceEClass;
1038 } 1140 }
1039 1141
1040 /** 1142 /**
@@ -1043,9 +1145,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1043 * @generated 1145 * @generated
1044 */ 1146 */
1045 @Override 1147 @Override
1046 public EReference getConstraint_Symbol() 1148 public EReference getReference_Referred()
1047 { 1149 {
1048 return (EReference)constraintEClass.getEStructuralFeatures().get(1); 1150 return (EReference)referenceEClass.getEStructuralFeatures().get(0);
1049 } 1151 }
1050 1152
1051 /** 1153 /**
@@ -1054,9 +1156,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1054 * @generated 1156 * @generated
1055 */ 1157 */
1056 @Override 1158 @Override
1057 public EReference getConstraint_Params() 1159 public EClass getInterval()
1058 { 1160 {
1059 return (EReference)constraintEClass.getEStructuralFeatures().get(2); 1161 return intervalEClass;
1060 } 1162 }
1061 1163
1062 /** 1164 /**
@@ -1065,9 +1167,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1065 * @generated 1167 * @generated
1066 */ 1168 */
1067 @Override 1169 @Override
1068 public EReference getConstraint_ClosureType() 1170 public EReference getInterval_LowerBound()
1069 { 1171 {
1070 return (EReference)constraintEClass.getEStructuralFeatures().get(3); 1172 return (EReference)intervalEClass.getEStructuralFeatures().get(0);
1071 } 1173 }
1072 1174
1073 /** 1175 /**
@@ -1076,9 +1178,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1076 * @generated 1178 * @generated
1077 */ 1179 */
1078 @Override 1180 @Override
1079 public EClass getClosureType() 1181 public EReference getInterval_UpperBound()
1080 { 1182 {
1081 return closureTypeEClass; 1183 return (EReference)intervalEClass.getEStructuralFeatures().get(1);
1082 } 1184 }
1083 1185
1084 /** 1186 /**
@@ -1098,9 +1200,207 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1098 * @generated 1200 * @generated
1099 */ 1201 */
1100 @Override 1202 @Override
1101 public EClass getVariable() 1203 public EClass getLogicLiteral()
1204 {
1205 return logicLiteralEClass;
1206 }
1207
1208 /**
1209 * <!-- begin-user-doc -->
1210 * <!-- end-user-doc -->
1211 * @generated
1212 */
1213 @Override
1214 public EAttribute getLogicLiteral_Value()
1215 {
1216 return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0);
1217 }
1218
1219 /**
1220 * <!-- begin-user-doc -->
1221 * <!-- end-user-doc -->
1222 * @generated
1223 */
1224 @Override
1225 public EClass getNumericLiteral()
1226 {
1227 return numericLiteralEClass;
1228 }
1229
1230 /**
1231 * <!-- begin-user-doc -->
1232 * <!-- end-user-doc -->
1233 * @generated
1234 */
1235 @Override
1236 public EAttribute getNumericLiteral_Value()
1237 {
1238 return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0);
1239 }
1240
1241 /**
1242 * <!-- begin-user-doc -->
1243 * <!-- end-user-doc -->
1244 * @generated
1245 */
1246 @Override
1247 public EClass getInfinityLiteral()
1248 {
1249 return infinityLiteralEClass;
1250 }
1251
1252 /**
1253 * <!-- begin-user-doc -->
1254 * <!-- end-user-doc -->
1255 * @generated
1256 */
1257 @Override
1258 public EClass getEmptyIntervalLiteral()
1259 {
1260 return emptyIntervalLiteralEClass;
1261 }
1262
1263 /**
1264 * <!-- begin-user-doc -->
1265 * <!-- end-user-doc -->
1266 * @generated
1267 */
1268 @Override
1269 public EClass getStringLiteral()
1270 {
1271 return stringLiteralEClass;
1272 }
1273
1274 /**
1275 * <!-- begin-user-doc -->
1276 * <!-- end-user-doc -->
1277 * @generated
1278 */
1279 @Override
1280 public EAttribute getStringLiteral_Value()
1281 {
1282 return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0);
1283 }
1284
1285 /**
1286 * <!-- begin-user-doc -->
1287 * <!-- end-user-doc -->
1288 * @generated
1289 */
1290 @Override
1291 public EClass getMemberDefinition()
1292 {
1293 return memberDefinitionEClass;
1294 }
1295
1296 /**
1297 * <!-- begin-user-doc -->
1298 * <!-- end-user-doc -->
1299 * @generated
1300 */
1301 @Override
1302 public EAttribute getMemberDefinition_Containment()
1303 {
1304 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0);
1305 }
1306
1307 /**
1308 * <!-- begin-user-doc -->
1309 * <!-- end-user-doc -->
1310 * @generated
1311 */
1312 @Override
1313 public EReference getMemberDefinition_Type()
1314 {
1315 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1);
1316 }
1317
1318 /**
1319 * <!-- begin-user-doc -->
1320 * <!-- end-user-doc -->
1321 * @generated
1322 */
1323 @Override
1324 public EReference getMemberDefinition_Multiplicity()
1325 {
1326 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2);
1327 }
1328
1329 /**
1330 * <!-- begin-user-doc -->
1331 * <!-- end-user-doc -->
1332 * @generated
1333 */
1334 @Override
1335 public EAttribute getMemberDefinition_Name()
1336 {
1337 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3);
1338 }
1339
1340 /**
1341 * <!-- begin-user-doc -->
1342 * <!-- end-user-doc -->
1343 * @generated
1344 */
1345 @Override
1346 public EReference getMemberDefinition_Opposite()
1347 {
1348 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4);
1349 }
1350
1351 /**
1352 * <!-- begin-user-doc -->
1353 * <!-- end-user-doc -->
1354 * @generated
1355 */
1356 @Override
1357 public EClass getMultiplicity()
1358 {
1359 return multiplicityEClass;
1360 }
1361
1362 /**
1363 * <!-- begin-user-doc -->
1364 * <!-- end-user-doc -->
1365 * @generated
1366 */
1367 @Override
1368 public EClass getManyMultiplicity()
1369 {
1370 return manyMultiplicityEClass;
1371 }
1372
1373 /**
1374 * <!-- begin-user-doc -->
1375 * <!-- end-user-doc -->
1376 * @generated
1377 */
1378 @Override
1379 public EClass getExactMultiplicity()
1380 {
1381 return exactMultiplicityEClass;
1382 }
1383
1384 /**
1385 * <!-- begin-user-doc -->
1386 * <!-- end-user-doc -->
1387 * @generated
1388 */
1389 @Override
1390 public EAttribute getExactMultiplicity_Multiplicity()
1391 {
1392 return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0);
1393 }
1394
1395 /**
1396 * <!-- begin-user-doc -->
1397 * <!-- end-user-doc -->
1398 * @generated
1399 */
1400 @Override
1401 public EClass getBoundedMultiplicity()
1102 { 1402 {
1103 return variableEClass; 1403 return boundedMultiplicityEClass;
1104 } 1404 }
1105 1405
1106 /** 1406 /**
@@ -1109,9 +1409,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1109 * @generated 1409 * @generated
1110 */ 1410 */
1111 @Override 1411 @Override
1112 public EAttribute getVariable_Name() 1412 public EAttribute getBoundedMultiplicity_LowerBound()
1113 { 1413 {
1114 return (EAttribute)variableEClass.getEStructuralFeatures().get(0); 1414 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0);
1115 } 1415 }
1116 1416
1117 /** 1417 /**
@@ -1120,9 +1420,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1120 * @generated 1420 * @generated
1121 */ 1421 */
1122 @Override 1422 @Override
1123 public EClass getAllInstances() 1423 public EAttribute getBoundedMultiplicity_UpperBound()
1124 { 1424 {
1125 return allInstancesEClass; 1425 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1);
1126 } 1426 }
1127 1427
1128 /** 1428 /**
@@ -1131,9 +1431,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1131 * @generated 1431 * @generated
1132 */ 1432 */
1133 @Override 1433 @Override
1134 public EReference getAllInstances_Symbol() 1434 public EClass getScopeDefinition()
1135 { 1435 {
1136 return (EReference)allInstancesEClass.getEStructuralFeatures().get(0); 1436 return scopeDefinitionEClass;
1137 } 1437 }
1138 1438
1139 /** 1439 /**
@@ -1142,9 +1442,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1142 * @generated 1442 * @generated
1143 */ 1443 */
1144 @Override 1444 @Override
1145 public EClass getAllObjects() 1445 public EReference getScopeDefinition_Type()
1146 { 1446 {
1147 return allObjectsEClass; 1447 return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0);
1148 } 1448 }
1149 1449
1150 /** 1450 /**
@@ -1153,9 +1453,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1153 * @generated 1453 * @generated
1154 */ 1454 */
1155 @Override 1455 @Override
1156 public EClass getDefaultInterpretation() 1456 public EClass getExactScopeDefinition()
1157 { 1457 {
1158 return defaultInterpretationEClass; 1458 return exactScopeDefinitionEClass;
1159 } 1459 }
1160 1460
1161 /** 1461 /**
@@ -1164,9 +1464,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1164 * @generated 1464 * @generated
1165 */ 1465 */
1166 @Override 1466 @Override
1167 public EReference getDefaultInterpretation_Interpretation() 1467 public EAttribute getExactScopeDefinition_ExactScope()
1168 { 1468 {
1169 return (EReference)defaultInterpretationEClass.getEStructuralFeatures().get(0); 1469 return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0);
1170 } 1470 }
1171 1471
1172 /** 1472 /**
@@ -1175,9 +1475,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1175 * @generated 1475 * @generated
1176 */ 1476 */
1177 @Override 1477 @Override
1178 public EClass getCDInterpretation() 1478 public EClass getBoundedScopeDefinition()
1179 { 1479 {
1180 return cdInterpretationEClass; 1480 return boundedScopeDefinitionEClass;
1181 } 1481 }
1182 1482
1183 /** 1483 /**
@@ -1186,9 +1486,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1186 * @generated 1486 * @generated
1187 */ 1487 */
1188 @Override 1488 @Override
1189 public EClass getClassInterpretation() 1489 public EAttribute getBoundedScopeDefinition_LowerBound()
1190 { 1490 {
1191 return classInterpretationEClass; 1491 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1192 } 1492 }
1193 1493
1194 /** 1494 /**
@@ -1197,9 +1497,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1197 * @generated 1497 * @generated
1198 */ 1498 */
1199 @Override 1499 @Override
1200 public EAttribute getClassInterpretation_Abstract() 1500 public EAttribute getBoundedScopeDefinition_UpperBound()
1201 { 1501 {
1202 return (EAttribute)classInterpretationEClass.getEStructuralFeatures().get(0); 1502 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1);
1203 } 1503 }
1204 1504
1205 /** 1505 /**
@@ -1208,9 +1508,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1208 * @generated 1508 * @generated
1209 */ 1509 */
1210 @Override 1510 @Override
1211 public EReference getClassInterpretation_Symbol() 1511 public EClass getLowerBoundedScopeDefinition()
1212 { 1512 {
1213 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(1); 1513 return lowerBoundedScopeDefinitionEClass;
1214 } 1514 }
1215 1515
1216 /** 1516 /**
@@ -1219,9 +1519,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1219 * @generated 1519 * @generated
1220 */ 1520 */
1221 @Override 1521 @Override
1222 public EReference getClassInterpretation_Supertypes() 1522 public EAttribute getLowerBoundedScopeDefinition_LowerBound()
1223 { 1523 {
1224 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(2); 1524 return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1225 } 1525 }
1226 1526
1227 /** 1527 /**
@@ -1230,9 +1530,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1230 * @generated 1530 * @generated
1231 */ 1531 */
1232 @Override 1532 @Override
1233 public EReference getClassInterpretation_Fielt() 1533 public EClass getObjectiveDefinition()
1234 { 1534 {
1235 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(3); 1535 return objectiveDefinitionEClass;
1236 } 1536 }
1237 1537
1238 /** 1538 /**
@@ -1241,9 +1541,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1241 * @generated 1541 * @generated
1242 */ 1542 */
1243 @Override 1543 @Override
1244 public EClass getEnumInterpretation() 1544 public EAttribute getObjectiveDefinition_Kind()
1245 { 1545 {
1246 return enumInterpretationEClass; 1546 return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0);
1247 } 1547 }
1248 1548
1249 /** 1549 /**
@@ -1252,9 +1552,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1252 * @generated 1552 * @generated
1253 */ 1553 */
1254 @Override 1554 @Override
1255 public EReference getEnumInterpretation_Symbol() 1555 public EReference getObjectiveDefinition_Objective()
1256 { 1556 {
1257 return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(0); 1557 return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1);
1258 } 1558 }
1259 1559
1260 /** 1560 /**
@@ -1263,9 +1563,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1263 * @generated 1563 * @generated
1264 */ 1564 */
1265 @Override 1565 @Override
1266 public EReference getEnumInterpretation_Objects() 1566 public EClass getNamedElement()
1267 { 1567 {
1268 return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(1); 1568 return namedElementEClass;
1269 } 1569 }
1270 1570
1271 /** 1571 /**
@@ -1274,9 +1574,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1274 * @generated 1574 * @generated
1275 */ 1575 */
1276 @Override 1576 @Override
1277 public EClass getFieldRelationInterpretation() 1577 public EAttribute getNamedElement_Name()
1278 { 1578 {
1279 return fieldRelationInterpretationEClass; 1579 return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
1280 } 1580 }
1281 1581
1282 /** 1582 /**
@@ -1285,9 +1585,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1285 * @generated 1585 * @generated
1286 */ 1586 */
1287 @Override 1587 @Override
1288 public EAttribute getFieldRelationInterpretation_Containment() 1588 public EClass getAssertion()
1289 { 1589 {
1290 return (EAttribute)fieldRelationInterpretationEClass.getEStructuralFeatures().get(0); 1590 return assertionEClass;
1291 } 1591 }
1292 1592
1293 /** 1593 /**
@@ -1296,9 +1596,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1296 * @generated 1596 * @generated
1297 */ 1597 */
1298 @Override 1598 @Override
1299 public EReference getFieldRelationInterpretation_Symbol() 1599 public EReference getAssertion_Body()
1300 { 1600 {
1301 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(1); 1601 return (EReference)assertionEClass.getEStructuralFeatures().get(0);
1302 } 1602 }
1303 1603
1304 /** 1604 /**
@@ -1307,9 +1607,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1307 * @generated 1607 * @generated
1308 */ 1608 */
1309 @Override 1609 @Override
1310 public EReference getFieldRelationInterpretation_Multiplicity() 1610 public EReference getAssertion_Range()
1311 { 1611 {
1312 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(2); 1612 return (EReference)assertionEClass.getEStructuralFeatures().get(1);
1313 } 1613 }
1314 1614
1315 /** 1615 /**
@@ -1318,9 +1618,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1318 * @generated 1618 * @generated
1319 */ 1619 */
1320 @Override 1620 @Override
1321 public EReference getFieldRelationInterpretation_Target() 1621 public EClass getDisjunction()
1322 { 1622 {
1323 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(3); 1623 return disjunctionEClass;
1324 } 1624 }
1325 1625
1326 /** 1626 /**
@@ -1329,9 +1629,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1329 * @generated 1629 * @generated
1330 */ 1630 */
1331 @Override 1631 @Override
1332 public EClass getGlobalRelationInterpretation() 1632 public EReference getDisjunction_Children()
1333 { 1633 {
1334 return globalRelationInterpretationEClass; 1634 return (EReference)disjunctionEClass.getEStructuralFeatures().get(0);
1335 } 1635 }
1336 1636
1337 /** 1637 /**
@@ -1340,9 +1640,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1340 * @generated 1640 * @generated
1341 */ 1641 */
1342 @Override 1642 @Override
1343 public EAttribute getGlobalRelationInterpretation_Containment() 1643 public EClass getSwitch()
1344 { 1644 {
1345 return (EAttribute)globalRelationInterpretationEClass.getEStructuralFeatures().get(0); 1645 return switchEClass;
1346 } 1646 }
1347 1647
1348 /** 1648 /**
@@ -1351,9 +1651,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1351 * @generated 1651 * @generated
1352 */ 1652 */
1353 @Override 1653 @Override
1354 public EReference getGlobalRelationInterpretation_Symbol() 1654 public EReference getSwitch_Cases()
1355 { 1655 {
1356 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(1); 1656 return (EReference)switchEClass.getEStructuralFeatures().get(0);
1357 } 1657 }
1358 1658
1359 /** 1659 /**
@@ -1362,9 +1662,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1362 * @generated 1662 * @generated
1363 */ 1663 */
1364 @Override 1664 @Override
1365 public EReference getGlobalRelationInterpretation_SourceMultiplicity() 1665 public EClass getConjunction()
1366 { 1666 {
1367 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(2); 1667 return conjunctionEClass;
1368 } 1668 }
1369 1669
1370 /** 1670 /**
@@ -1373,9 +1673,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1373 * @generated 1673 * @generated
1374 */ 1674 */
1375 @Override 1675 @Override
1376 public EReference getGlobalRelationInterpretation_Source() 1676 public EReference getConjunction_Children()
1377 { 1677 {
1378 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(3); 1678 return (EReference)conjunctionEClass.getEStructuralFeatures().get(0);
1379 } 1679 }
1380 1680
1381 /** 1681 /**
@@ -1384,9 +1684,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1384 * @generated 1684 * @generated
1385 */ 1685 */
1386 @Override 1686 @Override
1387 public EReference getGlobalRelationInterpretation_TargetMultiplicity() 1687 public EClass getComparison()
1388 { 1688 {
1389 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(4); 1689 return comparisonEClass;
1390 } 1690 }
1391 1691
1392 /** 1692 /**
@@ -1395,9 +1695,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1395 * @generated 1695 * @generated
1396 */ 1696 */
1397 @Override 1697 @Override
1398 public EReference getGlobalRelationInterpretation_Target() 1698 public EReference getComparison_Left()
1399 { 1699 {
1400 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(5); 1700 return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
1401 } 1701 }
1402 1702
1403 /** 1703 /**
@@ -1406,9 +1706,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1406 * @generated 1706 * @generated
1407 */ 1707 */
1408 @Override 1708 @Override
1409 public EClass getMultiplicityDefinition() 1709 public EAttribute getComparison_Op()
1410 { 1710 {
1411 return multiplicityDefinitionEClass; 1711 return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1);
1412 } 1712 }
1413 1713
1414 /** 1714 /**
@@ -1417,9 +1717,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1417 * @generated 1717 * @generated
1418 */ 1718 */
1419 @Override 1719 @Override
1420 public EAttribute getMultiplicityDefinition_Lower() 1720 public EReference getComparison_Right()
1421 { 1721 {
1422 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(0); 1722 return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
1423 } 1723 }
1424 1724
1425 /** 1725 /**
@@ -1428,9 +1728,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1428 * @generated 1728 * @generated
1429 */ 1729 */
1430 @Override 1730 @Override
1431 public EAttribute getMultiplicityDefinition_Upper() 1731 public EClass getBinaryExpression()
1432 { 1732 {
1433 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(1); 1733 return binaryExpressionEClass;
1434 } 1734 }
1435 1735
1436 /** 1736 /**
@@ -1439,9 +1739,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1439 * @generated 1739 * @generated
1440 */ 1740 */
1441 @Override 1741 @Override
1442 public EAttribute getMultiplicityDefinition_UnlimitedUpper() 1742 public EReference getBinaryExpression_Left()
1443 { 1743 {
1444 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(2); 1744 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0);
1445 } 1745 }
1446 1746
1447 /** 1747 /**
@@ -1450,9 +1750,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1450 * @generated 1750 * @generated
1451 */ 1751 */
1452 @Override 1752 @Override
1453 public EClass getBooleanTrue() 1753 public EAttribute getBinaryExpression_Op()
1454 { 1754 {
1455 return booleanTrueEClass; 1755 return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1);
1456 } 1756 }
1457 1757
1458 /** 1758 /**
@@ -1461,9 +1761,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1461 * @generated 1761 * @generated
1462 */ 1762 */
1463 @Override 1763 @Override
1464 public EClass getBooleanFalse() 1764 public EReference getBinaryExpression_Right()
1465 { 1765 {
1466 return booleanFalseEClass; 1766 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2);
1467 } 1767 }
1468 1768
1469 /** 1769 /**
@@ -1472,9 +1772,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1472 * @generated 1772 * @generated
1473 */ 1773 */
1474 @Override 1774 @Override
1475 public EClass getTrue() 1775 public EClass getUnaryExpression()
1476 { 1776 {
1477 return trueEClass; 1777 return unaryExpressionEClass;
1478 } 1778 }
1479 1779
1480 /** 1780 /**
@@ -1483,9 +1783,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1483 * @generated 1783 * @generated
1484 */ 1784 */
1485 @Override 1785 @Override
1486 public EClass getFalse() 1786 public EAttribute getUnaryExpression_Op()
1487 { 1787 {
1488 return falseEClass; 1788 return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0);
1489 } 1789 }
1490 1790
1491 /** 1791 /**
@@ -1494,9 +1794,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1494 * @generated 1794 * @generated
1495 */ 1795 */
1496 @Override 1796 @Override
1497 public EClass getUnknown() 1797 public EReference getUnaryExpression_Body()
1498 { 1798 {
1499 return unknownEClass; 1799 return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1);
1500 } 1800 }
1501 1801
1502 /** 1802 /**
@@ -1505,9 +1805,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1505 * @generated 1805 * @generated
1506 */ 1806 */
1507 @Override 1807 @Override
1508 public EClass getError() 1808 public EEnum getMetricType()
1509 { 1809 {
1510 return errorEClass; 1810 return metricTypeEEnum;
1511 } 1811 }
1512 1812
1513 /** 1813 /**
@@ -1516,9 +1816,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1516 * @generated 1816 * @generated
1517 */ 1817 */
1518 @Override 1818 @Override
1519 public EClass getPositive() 1819 public EEnum getBinaryOperator()
1520 { 1820 {
1521 return positiveEClass; 1821 return binaryOperatorEEnum;
1522 } 1822 }
1523 1823
1524 /** 1824 /**
@@ -1527,9 +1827,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1527 * @generated 1827 * @generated
1528 */ 1828 */
1529 @Override 1829 @Override
1530 public EClass getNegative() 1830 public EEnum getUnaryOp()
1531 { 1831 {
1532 return negativeEClass; 1832 return unaryOpEEnum;
1533 } 1833 }
1534 1834
1535 /** 1835 /**
@@ -1538,9 +1838,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1538 * @generated 1838 * @generated
1539 */ 1839 */
1540 @Override 1840 @Override
1541 public EClass getReflexiveClosure() 1841 public EEnum getAggregationOp()
1542 { 1842 {
1543 return reflexiveClosureEClass; 1843 return aggregationOpEEnum;
1544 } 1844 }
1545 1845
1546 /** 1846 /**
@@ -1549,9 +1849,20 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1549 * @generated 1849 * @generated
1550 */ 1850 */
1551 @Override 1851 @Override
1552 public EClass getIrreflexiveClosure() 1852 public EEnum getLogicValue()
1553 { 1853 {
1554 return irreflexiveClosureEClass; 1854 return logicValueEEnum;
1855 }
1856
1857 /**
1858 * <!-- begin-user-doc -->
1859 * <!-- end-user-doc -->
1860 * @generated
1861 */
1862 @Override
1863 public EEnum getObjectiveKind()
1864 {
1865 return objectiveKindEEnum;
1555 } 1866 }
1556 1867
1557 /** 1868 /**
@@ -1589,149 +1900,173 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1589 createEReference(problemEClass, PROBLEM__STATEMENTS); 1900 createEReference(problemEClass, PROBLEM__STATEMENTS);
1590 1901
1591 statementEClass = createEClass(STATEMENT); 1902 statementEClass = createEClass(STATEMENT);
1903 createEAttribute(statementEClass, STATEMENT__ABSTRACT);
1904 createEAttribute(statementEClass, STATEMENT__NAME);
1905 createEReference(statementEClass, STATEMENT__SUPERCLASSES);
1906 createEReference(statementEClass, STATEMENT__MEMBERS);
1592 1907
1593 booleanValueEClass = createEClass(BOOLEAN_VALUE); 1908 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
1594 1909 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD);
1595 truthValueEClass = createEClass(TRUTH_VALUE); 1910 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY);
1596 1911 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL);
1597 interpretationEClass = createEClass(INTERPRETATION); 1912 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
1598
1599 basicInterpretationEClass = createEClass(BASIC_INTERPRETATION);
1600 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__SYMBOL);
1601 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__OBJECTS);
1602 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__VALUE);
1603
1604 symbolEClass = createEClass(SYMBOL);
1605 1913
1606 modelSymbolEClass = createEClass(MODEL_SYMBOL); 1914 unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION);
1607 createEAttribute(modelSymbolEClass, MODEL_SYMBOL__NAME); 1915 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST);
1916 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY);
1608 1917
1609 partialitySymbolEClass = createEClass(PARTIALITY_SYMBOL); 1918 defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION);
1919 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD);
1920 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE);
1610 1921
1611 existSymbolEClass = createEClass(EXIST_SYMBOL); 1922 externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION);
1923 createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__HEAD);
1612 1924
1613 equalsSymbolEClass = createEClass(EQUALS_SYMBOL); 1925 metricDefinitionEClass = createEClass(METRIC_DEFINITION);
1926 createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD);
1927 createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY);
1928 createEAttribute(metricDefinitionEClass, METRIC_DEFINITION__TYPE);
1614 1929
1615 dataSymbolEClass = createEClass(DATA_SYMBOL); 1930 externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION);
1931 createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE);
1932 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__HEAD);
1616 1933
1617 booleanSymbolEClass = createEClass(BOOLEAN_SYMBOL); 1934 expressionEClass = createEClass(EXPRESSION);
1618 1935
1619 integerSymbolEClass = createEClass(INTEGER_SYMBOL); 1936 ifElseEClass = createEClass(IF_ELSE);
1937 createEReference(ifElseEClass, IF_ELSE__CONDITION);
1938 createEReference(ifElseEClass, IF_ELSE__THEN);
1939 createEReference(ifElseEClass, IF_ELSE__ELSE);
1620 1940
1621 realSymbolEClass = createEClass(REAL_SYMBOL); 1941 caseEClass = createEClass(CASE);
1942 createEReference(caseEClass, CASE__CONDITION);
1943 createEReference(caseEClass, CASE__BODY);
1622 1944
1623 stringSymbolEClass = createEClass(STRING_SYMBOL); 1945 countEClass = createEClass(COUNT);
1946 createEReference(countEClass, COUNT__BODY);
1624 1947
1625 complexObjectEClass = createEClass(COMPLEX_OBJECT); 1948 aggregationEClass = createEClass(AGGREGATION);
1949 createEAttribute(aggregationEClass, AGGREGATION__OP);
1950 createEReference(aggregationEClass, AGGREGATION__BODY);
1951 createEReference(aggregationEClass, AGGREGATION__CONDITION);
1626 1952
1627 objectEClass = createEClass(OBJECT); 1953 callEClass = createEClass(CALL);
1954 createEReference(callEClass, CALL__FUNCTOR);
1955 createEReference(callEClass, CALL__ARGUMENT_LIST);
1956 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE);
1957 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE);
1628 1958
1629 namedObjectEClass = createEClass(NAMED_OBJECT); 1959 argumentListEClass = createEClass(ARGUMENT_LIST);
1630 createEAttribute(namedObjectEClass, NAMED_OBJECT__NAME); 1960 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
1631 1961
1632 unnamedObjectEClass = createEClass(UNNAMED_OBJECT); 1962 argumentEClass = createEClass(ARGUMENT);
1633 createEAttribute(unnamedObjectEClass, UNNAMED_OBJECT__NAME);
1634 1963
1635 dataObjectEClass = createEClass(DATA_OBJECT); 1964 expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT);
1965 createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY);
1636 1966
1637 booleanObjectEClass = createEClass(BOOLEAN_OBJECT); 1967 starArgumentEClass = createEClass(STAR_ARGUMENT);
1638 createEReference(booleanObjectEClass, BOOLEAN_OBJECT__VALUE);
1639 1968
1640 intObjectEClass = createEClass(INT_OBJECT); 1969 typedArgumentEClass = createEClass(TYPED_ARGUMENT);
1641 createEAttribute(intObjectEClass, INT_OBJECT__VALUE); 1970 createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE);
1971 createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE);
1642 1972
1643 realObjectEClass = createEClass(REAL_OBJECT); 1973 typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT);
1644 createEAttribute(realObjectEClass, REAL_OBJECT__VALUE); 1974 createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE);
1645 1975
1646 stringObjectEClass = createEClass(STRING_OBJECT); 1976 referenceEClass = createEClass(REFERENCE);
1647 createEAttribute(stringObjectEClass, STRING_OBJECT__VALUE); 1977 createEReference(referenceEClass, REFERENCE__REFERRED);
1648 1978
1649 predicateEClass = createEClass(PREDICATE); 1979 intervalEClass = createEClass(INTERVAL);
1650 createEAttribute(predicateEClass, PREDICATE__IS_ERROR); 1980 createEReference(intervalEClass, INTERVAL__LOWER_BOUND);
1651 createEReference(predicateEClass, PREDICATE__SYMBOL); 1981 createEReference(intervalEClass, INTERVAL__UPPER_BOUND);
1652 createEReference(predicateEClass, PREDICATE__PARAMETERS);
1653 createEReference(predicateEClass, PREDICATE__BODIES);
1654 1982
1655 parameterEClass = createEClass(PARAMETER); 1983 literalEClass = createEClass(LITERAL);
1656 createEReference(parameterEClass, PARAMETER__VARIABLE);
1657 createEReference(parameterEClass, PARAMETER__TYPE);
1658
1659 patternBodyEClass = createEClass(PATTERN_BODY);
1660 createEReference(patternBodyEClass, PATTERN_BODY__CONSTRAINTS);
1661 1984
1662 polarityEClass = createEClass(POLARITY); 1985 logicLiteralEClass = createEClass(LOGIC_LITERAL);
1986 createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE);
1663 1987
1664 constraintEClass = createEClass(CONSTRAINT); 1988 numericLiteralEClass = createEClass(NUMERIC_LITERAL);
1665 createEReference(constraintEClass, CONSTRAINT__POLARITY); 1989 createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE);
1666 createEReference(constraintEClass, CONSTRAINT__SYMBOL);
1667 createEReference(constraintEClass, CONSTRAINT__PARAMS);
1668 createEReference(constraintEClass, CONSTRAINT__CLOSURE_TYPE);
1669 1990
1670 closureTypeEClass = createEClass(CLOSURE_TYPE); 1991 infinityLiteralEClass = createEClass(INFINITY_LITERAL);
1671 1992
1672 literalEClass = createEClass(LITERAL); 1993 emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL);
1673 1994
1674 variableEClass = createEClass(VARIABLE); 1995 stringLiteralEClass = createEClass(STRING_LITERAL);
1675 createEAttribute(variableEClass, VARIABLE__NAME); 1996 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
1676 1997
1677 allInstancesEClass = createEClass(ALL_INSTANCES); 1998 memberDefinitionEClass = createEClass(MEMBER_DEFINITION);
1678 createEReference(allInstancesEClass, ALL_INSTANCES__SYMBOL); 1999 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT);
2000 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE);
2001 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY);
2002 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME);
2003 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE);
1679 2004
1680 allObjectsEClass = createEClass(ALL_OBJECTS); 2005 multiplicityEClass = createEClass(MULTIPLICITY);
1681 2006
1682 defaultInterpretationEClass = createEClass(DEFAULT_INTERPRETATION); 2007 manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY);
1683 createEReference(defaultInterpretationEClass, DEFAULT_INTERPRETATION__INTERPRETATION);
1684 2008
1685 cdInterpretationEClass = createEClass(CD_INTERPRETATION); 2009 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
2010 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY);
1686 2011
1687 classInterpretationEClass = createEClass(CLASS_INTERPRETATION); 2012 boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY);
1688 createEAttribute(classInterpretationEClass, CLASS_INTERPRETATION__ABSTRACT); 2013 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND);
1689 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SYMBOL); 2014 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND);
1690 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SUPERTYPES);
1691 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__FIELT);
1692 2015
1693 enumInterpretationEClass = createEClass(ENUM_INTERPRETATION); 2016 scopeDefinitionEClass = createEClass(SCOPE_DEFINITION);
1694 createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__SYMBOL); 2017 createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE);
1695 createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__OBJECTS);
1696 2018
1697 fieldRelationInterpretationEClass = createEClass(FIELD_RELATION_INTERPRETATION); 2019 exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION);
1698 createEAttribute(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__CONTAINMENT); 2020 createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE);
1699 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__SYMBOL);
1700 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__MULTIPLICITY);
1701 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__TARGET);
1702 2021
1703 globalRelationInterpretationEClass = createEClass(GLOBAL_RELATION_INTERPRETATION); 2022 boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION);
1704 createEAttribute(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__CONTAINMENT); 2023 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
1705 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SYMBOL); 2024 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND);
1706 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY);
1707 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE);
1708 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY);
1709 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET);
1710 2025
1711 multiplicityDefinitionEClass = createEClass(MULTIPLICITY_DEFINITION); 2026 lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION);
1712 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__LOWER); 2027 createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
1713 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UPPER);
1714 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UNLIMITED_UPPER);
1715 2028
1716 booleanTrueEClass = createEClass(BOOLEAN_TRUE); 2029 objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION);
2030 createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND);
2031 createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE);
1717 2032
1718 booleanFalseEClass = createEClass(BOOLEAN_FALSE); 2033 namedElementEClass = createEClass(NAMED_ELEMENT);
2034 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
1719 2035
1720 trueEClass = createEClass(TRUE); 2036 assertionEClass = createEClass(ASSERTION);
2037 createEReference(assertionEClass, ASSERTION__BODY);
2038 createEReference(assertionEClass, ASSERTION__RANGE);
1721 2039
1722 falseEClass = createEClass(FALSE); 2040 disjunctionEClass = createEClass(DISJUNCTION);
2041 createEReference(disjunctionEClass, DISJUNCTION__CHILDREN);
1723 2042
1724 unknownEClass = createEClass(UNKNOWN); 2043 switchEClass = createEClass(SWITCH);
2044 createEReference(switchEClass, SWITCH__CASES);
1725 2045
1726 errorEClass = createEClass(ERROR); 2046 conjunctionEClass = createEClass(CONJUNCTION);
2047 createEReference(conjunctionEClass, CONJUNCTION__CHILDREN);
1727 2048
1728 positiveEClass = createEClass(POSITIVE); 2049 comparisonEClass = createEClass(COMPARISON);
2050 createEReference(comparisonEClass, COMPARISON__LEFT);
2051 createEAttribute(comparisonEClass, COMPARISON__OP);
2052 createEReference(comparisonEClass, COMPARISON__RIGHT);
1729 2053
1730 negativeEClass = createEClass(NEGATIVE); 2054 binaryExpressionEClass = createEClass(BINARY_EXPRESSION);
2055 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT);
2056 createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP);
2057 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT);
1731 2058
1732 reflexiveClosureEClass = createEClass(REFLEXIVE_CLOSURE); 2059 unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
2060 createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
2061 createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY);
1733 2062
1734 irreflexiveClosureEClass = createEClass(IRREFLEXIVE_CLOSURE); 2063 // Create enums
2064 metricTypeEEnum = createEEnum(METRIC_TYPE);
2065 binaryOperatorEEnum = createEEnum(BINARY_OPERATOR);
2066 unaryOpEEnum = createEEnum(UNARY_OP);
2067 aggregationOpEEnum = createEEnum(AGGREGATION_OP);
2068 logicValueEEnum = createEEnum(LOGIC_VALUE);
2069 objectiveKindEEnum = createEEnum(OBJECTIVE_KIND);
1735 } 2070 }
1736 2071
1737 /** 2072 /**
@@ -1763,195 +2098,255 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1763 // Set bounds for type parameters 2098 // Set bounds for type parameters
1764 2099
1765 // Add supertypes to classes 2100 // Add supertypes to classes
1766 interpretationEClass.getESuperTypes().add(this.getStatement()); 2101 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
1767 basicInterpretationEClass.getESuperTypes().add(this.getInterpretation()); 2102 unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement());
1768 modelSymbolEClass.getESuperTypes().add(this.getSymbol()); 2103 defaultDefinitionEClass.getESuperTypes().add(this.getStatement());
1769 partialitySymbolEClass.getESuperTypes().add(this.getSymbol()); 2104 externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement());
1770 existSymbolEClass.getESuperTypes().add(this.getPartialitySymbol()); 2105 metricDefinitionEClass.getESuperTypes().add(this.getStatement());
1771 equalsSymbolEClass.getESuperTypes().add(this.getPartialitySymbol()); 2106 externMetricDefinitionEClass.getESuperTypes().add(this.getStatement());
1772 dataSymbolEClass.getESuperTypes().add(this.getSymbol()); 2107 expressionEClass.getESuperTypes().add(this.getStatement());
1773 booleanSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2108 ifElseEClass.getESuperTypes().add(this.getExpression());
1774 integerSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2109 caseEClass.getESuperTypes().add(this.getExpression());
1775 realSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2110 countEClass.getESuperTypes().add(this.getExpression());
1776 stringSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2111 aggregationEClass.getESuperTypes().add(this.getExpression());
1777 objectEClass.getESuperTypes().add(this.getComplexObject()); 2112 callEClass.getESuperTypes().add(this.getExpression());
1778 namedObjectEClass.getESuperTypes().add(this.getObject()); 2113 expressionArgumentEClass.getESuperTypes().add(this.getArgument());
1779 namedObjectEClass.getESuperTypes().add(this.getLiteral()); 2114 starArgumentEClass.getESuperTypes().add(this.getArgument());
1780 unnamedObjectEClass.getESuperTypes().add(this.getObject()); 2115 typedArgumentEClass.getESuperTypes().add(this.getArgument());
1781 dataObjectEClass.getESuperTypes().add(this.getObject()); 2116 typedStarArgumentEClass.getESuperTypes().add(this.getArgument());
1782 dataObjectEClass.getESuperTypes().add(this.getLiteral()); 2117 referenceEClass.getESuperTypes().add(this.getExpression());
1783 booleanObjectEClass.getESuperTypes().add(this.getDataObject()); 2118 intervalEClass.getESuperTypes().add(this.getExpression());
1784 intObjectEClass.getESuperTypes().add(this.getDataObject()); 2119 literalEClass.getESuperTypes().add(this.getExpression());
1785 realObjectEClass.getESuperTypes().add(this.getDataObject()); 2120 logicLiteralEClass.getESuperTypes().add(this.getLiteral());
1786 stringObjectEClass.getESuperTypes().add(this.getDataObject()); 2121 numericLiteralEClass.getESuperTypes().add(this.getLiteral());
1787 predicateEClass.getESuperTypes().add(this.getStatement()); 2122 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
1788 variableEClass.getESuperTypes().add(this.getLiteral()); 2123 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral());
1789 allInstancesEClass.getESuperTypes().add(this.getComplexObject()); 2124 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
1790 allObjectsEClass.getESuperTypes().add(this.getComplexObject()); 2125 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1791 defaultInterpretationEClass.getESuperTypes().add(this.getInterpretation()); 2126 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1792 cdInterpretationEClass.getESuperTypes().add(this.getInterpretation()); 2127 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1793 classInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); 2128 scopeDefinitionEClass.getESuperTypes().add(this.getStatement());
1794 enumInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); 2129 exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
1795 globalRelationInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); 2130 boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
1796 booleanTrueEClass.getESuperTypes().add(this.getBooleanValue()); 2131 lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
1797 booleanFalseEClass.getESuperTypes().add(this.getBooleanValue()); 2132 objectiveDefinitionEClass.getESuperTypes().add(this.getStatement());
1798 trueEClass.getESuperTypes().add(this.getTruthValue()); 2133 assertionEClass.getESuperTypes().add(this.getStatement());
1799 falseEClass.getESuperTypes().add(this.getTruthValue()); 2134 disjunctionEClass.getESuperTypes().add(this.getExpression());
1800 unknownEClass.getESuperTypes().add(this.getTruthValue()); 2135 switchEClass.getESuperTypes().add(this.getExpression());
1801 errorEClass.getESuperTypes().add(this.getTruthValue()); 2136 conjunctionEClass.getESuperTypes().add(this.getExpression());
1802 positiveEClass.getESuperTypes().add(this.getPolarity()); 2137 comparisonEClass.getESuperTypes().add(this.getExpression());
1803 negativeEClass.getESuperTypes().add(this.getPolarity()); 2138 binaryExpressionEClass.getESuperTypes().add(this.getExpression());
1804 reflexiveClosureEClass.getESuperTypes().add(this.getClosureType()); 2139 unaryExpressionEClass.getESuperTypes().add(this.getExpression());
1805 irreflexiveClosureEClass.getESuperTypes().add(this.getClosureType());
1806 2140
1807 // Initialize classes and features; add operations and parameters 2141 // Initialize classes and features; add operations and parameters
1808 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2142 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1809 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2143 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1810 2144
1811 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2145 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2146 initEAttribute(getStatement_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2147 initEAttribute(getStatement_Name(), ecorePackage.getEString(), "name", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2148 initEReference(getStatement_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2149 initEReference(getStatement_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1812 2150
1813 initEClass(booleanValueEClass, BooleanValue.class, "BooleanValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2151 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1814 2152 initEReference(getPredicateDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1815 initEClass(truthValueEClass, TruthValue.class, "TruthValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2153 initEReference(getPredicateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1816 2154 initEAttribute(getPredicateDefinition_Functional(), ecorePackage.getEBoolean(), "functional", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1817 initEClass(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2155 initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1818
1819 initEClass(basicInterpretationEClass, BasicInterpretation.class, "BasicInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1820 initEReference(getBasicInterpretation_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1821 initEReference(getBasicInterpretation_Objects(), this.getComplexObject(), null, "objects", null, 0, -1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1822 initEReference(getBasicInterpretation_Value(), this.getTruthValue(), null, "value", null, 0, 1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1823
1824 initEClass(symbolEClass, Symbol.class, "Symbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1825
1826 initEClass(modelSymbolEClass, ModelSymbol.class, "ModelSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1827 initEAttribute(getModelSymbol_Name(), ecorePackage.getEString(), "name", null, 0, 1, ModelSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1828
1829 initEClass(partialitySymbolEClass, PartialitySymbol.class, "PartialitySymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1830 2156
1831 initEClass(existSymbolEClass, ExistSymbol.class, "ExistSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2157 initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2158 initEReference(getUnnamedErrorPrediateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2159 initEReference(getUnnamedErrorPrediateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1832 2160
1833 initEClass(equalsSymbolEClass, EqualsSymbol.class, "EqualsSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2161 initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2162 initEReference(getDefaultDefinition_Head(), this.getCall(), null, "head", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2163 initEReference(getDefaultDefinition_Range(), this.getExpression(), null, "range", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1834 2164
1835 initEClass(dataSymbolEClass, DataSymbol.class, "DataSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2165 initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2166 initEReference(getExternPredicateDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1836 2167
1837 initEClass(booleanSymbolEClass, BooleanSymbol.class, "BooleanSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2168 initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2169 initEReference(getMetricDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2170 initEReference(getMetricDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2171 initEAttribute(getMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1838 2172
1839 initEClass(integerSymbolEClass, IntegerSymbol.class, "IntegerSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2173 initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2174 initEAttribute(getExternMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2175 initEReference(getExternMetricDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1840 2176
1841 initEClass(realSymbolEClass, RealSymbol.class, "RealSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2177 initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1842 2178
1843 initEClass(stringSymbolEClass, StringSymbol.class, "StringSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2179 initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2180 initEReference(getIfElse_Condition(), this.getExpression(), null, "condition", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2181 initEReference(getIfElse_Then(), this.getExpression(), null, "then", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2182 initEReference(getIfElse_Else(), this.getExpression(), null, "else", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1844 2183
1845 initEClass(complexObjectEClass, ComplexObject.class, "ComplexObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2184 initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2185 initEReference(getCase_Condition(), this.getExpression(), null, "condition", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2186 initEReference(getCase_Body(), this.getExpression(), null, "body", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1846 2187
1847 initEClass(objectEClass, org.eclipse.viatra.solver.language.solverLanguage.Object.class, "Object", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2188 initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2189 initEReference(getCount_Body(), this.getExpression(), null, "body", null, 0, 1, Count.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1848 2190
1849 initEClass(namedObjectEClass, NamedObject.class, "NamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2191 initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1850 initEAttribute(getNamedObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2192 initEAttribute(getAggregation_Op(), this.getAggregationOp(), "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2193 initEReference(getAggregation_Body(), this.getExpression(), null, "body", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2194 initEReference(getAggregation_Condition(), this.getExpression(), null, "condition", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1851 2195
1852 initEClass(unnamedObjectEClass, UnnamedObject.class, "UnnamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2196 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1853 initEAttribute(getUnnamedObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, UnnamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2197 initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2198 initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2199 initEAttribute(getCall_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2200 initEAttribute(getCall_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), "reflexiveTransitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1854 2201
1855 initEClass(dataObjectEClass, DataObject.class, "DataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2202 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2203 initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1856 2204
1857 initEClass(booleanObjectEClass, BooleanObject.class, "BooleanObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2205 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1858 initEReference(getBooleanObject_Value(), this.getBooleanValue(), null, "value", null, 0, 1, BooleanObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1859 2206
1860 initEClass(intObjectEClass, IntObject.class, "IntObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2207 initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1861 initEAttribute(getIntObject_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2208 initEReference(getExpressionArgument_Body(), this.getExpression(), null, "body", null, 0, 1, ExpressionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1862 2209
1863 initEClass(realObjectEClass, RealObject.class, "RealObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2210 initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1864 initEAttribute(getRealObject_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, RealObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1865 2211
1866 initEClass(stringObjectEClass, StringObject.class, "StringObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2212 initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1867 initEAttribute(getStringObject_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2213 initEReference(getTypedArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2214 initEReference(getTypedArgument_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1868 2215
1869 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2216 initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1870 initEAttribute(getPredicate_IsError(), ecorePackage.getEBoolean(), "isError", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2217 initEReference(getTypedStarArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedStarArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1871 initEReference(getPredicate_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1872 initEReference(getPredicate_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1873 initEReference(getPredicate_Bodies(), this.getPatternBody(), null, "bodies", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1874 2218
1875 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2219 initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1876 initEReference(getParameter_Variable(), this.getVariable(), null, "variable", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2220 initEReference(getReference_Referred(), this.getNamedElement(), null, "referred", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1877 initEReference(getParameter_Type(), this.getSymbol(), null, "type", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1878 2221
1879 initEClass(patternBodyEClass, PatternBody.class, "PatternBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2222 initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1880 initEReference(getPatternBody_Constraints(), this.getConstraint(), null, "constraints", null, 0, -1, PatternBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2223 initEReference(getInterval_LowerBound(), this.getExpression(), null, "lowerBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1881 2224 initEReference(getInterval_UpperBound(), this.getExpression(), null, "upperBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1882 initEClass(polarityEClass, Polarity.class, "Polarity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1883
1884 initEClass(constraintEClass, Constraint.class, "Constraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1885 initEReference(getConstraint_Polarity(), this.getPolarity(), null, "polarity", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1886 initEReference(getConstraint_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1887 initEReference(getConstraint_Params(), this.getLiteral(), null, "params", null, 0, -1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1888 initEReference(getConstraint_ClosureType(), this.getClosureType(), null, "closureType", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1889
1890 initEClass(closureTypeEClass, ClosureType.class, "ClosureType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1891 2225
1892 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2226 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1893 2227
1894 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2228 initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1895 initEAttribute(getVariable_Name(), ecorePackage.getEString(), "name", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2229 initEAttribute(getLogicLiteral_Value(), this.getLogicValue(), "value", null, 0, 1, LogicLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1896
1897 initEClass(allInstancesEClass, AllInstances.class, "AllInstances", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1898 initEReference(getAllInstances_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, AllInstances.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1899
1900 initEClass(allObjectsEClass, AllObjects.class, "AllObjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1901
1902 initEClass(defaultInterpretationEClass, DefaultInterpretation.class, "DefaultInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1903 initEReference(getDefaultInterpretation_Interpretation(), this.getBasicInterpretation(), null, "interpretation", null, 0, 1, DefaultInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1904
1905 initEClass(cdInterpretationEClass, CDInterpretation.class, "CDInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1906
1907 initEClass(classInterpretationEClass, ClassInterpretation.class, "ClassInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1908 initEAttribute(getClassInterpretation_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1909 initEReference(getClassInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1910 initEReference(getClassInterpretation_Supertypes(), this.getModelSymbol(), null, "supertypes", null, 0, -1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1911 initEReference(getClassInterpretation_Fielt(), this.getFieldRelationInterpretation(), null, "fielt", null, 0, -1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1912
1913 initEClass(enumInterpretationEClass, EnumInterpretation.class, "EnumInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1914 initEReference(getEnumInterpretation_Symbol(), this.getModelSymbol(), null, "Symbol", null, 0, 1, EnumInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1915 initEReference(getEnumInterpretation_Objects(), this.getNamedObject(), null, "objects", null, 0, -1, EnumInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1916
1917 initEClass(fieldRelationInterpretationEClass, FieldRelationInterpretation.class, "FieldRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1918 initEAttribute(getFieldRelationInterpretation_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1919 initEReference(getFieldRelationInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1920 initEReference(getFieldRelationInterpretation_Multiplicity(), this.getMultiplicityDefinition(), null, "multiplicity", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1921 initEReference(getFieldRelationInterpretation_Target(), this.getSymbol(), null, "target", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1922
1923 initEClass(globalRelationInterpretationEClass, GlobalRelationInterpretation.class, "GlobalRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1924 initEAttribute(getGlobalRelationInterpretation_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1925 initEReference(getGlobalRelationInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1926 initEReference(getGlobalRelationInterpretation_SourceMultiplicity(), this.getMultiplicityDefinition(), null, "sourceMultiplicity", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1927 initEReference(getGlobalRelationInterpretation_Source(), this.getSymbol(), null, "source", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1928 initEReference(getGlobalRelationInterpretation_TargetMultiplicity(), this.getMultiplicityDefinition(), null, "targetMultiplicity", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1929 initEReference(getGlobalRelationInterpretation_Target(), this.getSymbol(), null, "target", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1930
1931 initEClass(multiplicityDefinitionEClass, MultiplicityDefinition.class, "MultiplicityDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1932 initEAttribute(getMultiplicityDefinition_Lower(), ecorePackage.getEInt(), "lower", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1933 initEAttribute(getMultiplicityDefinition_Upper(), ecorePackage.getEInt(), "upper", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1934 initEAttribute(getMultiplicityDefinition_UnlimitedUpper(), ecorePackage.getEBoolean(), "unlimitedUpper", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1935
1936 initEClass(booleanTrueEClass, BooleanTrue.class, "BooleanTrue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1937
1938 initEClass(booleanFalseEClass, BooleanFalse.class, "BooleanFalse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1939
1940 initEClass(trueEClass, True.class, "True", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1941
1942 initEClass(falseEClass, False.class, "False", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1943
1944 initEClass(unknownEClass, Unknown.class, "Unknown", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1945 2230
1946 initEClass(errorEClass, org.eclipse.viatra.solver.language.solverLanguage.Error.class, "Error", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2231 initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2232 initEAttribute(getNumericLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, NumericLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1947 2233
1948 initEClass(positiveEClass, Positive.class, "Positive", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2234 initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1949 2235
1950 initEClass(negativeEClass, Negative.class, "Negative", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2236 initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1951 2237
1952 initEClass(reflexiveClosureEClass, ReflexiveClosure.class, "ReflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2238 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2239 initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1953 2240
1954 initEClass(irreflexiveClosureEClass, IrreflexiveClosure.class, "IrreflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2241 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2242 initEAttribute(getMemberDefinition_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2243 initEReference(getMemberDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2244 initEReference(getMemberDefinition_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2245 initEAttribute(getMemberDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2246 initEReference(getMemberDefinition_Opposite(), this.getNamedElement(), null, "opposite", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2247
2248 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2249
2250 initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2251
2252 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2253 initEAttribute(getExactMultiplicity_Multiplicity(), ecorePackage.getEInt(), "multiplicity", null, 0, 1, ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2254
2255 initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2256 initEAttribute(getBoundedMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2257 initEAttribute(getBoundedMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2258
2259 initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2260 initEReference(getScopeDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2261
2262 initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2263 initEAttribute(getExactScopeDefinition_ExactScope(), ecorePackage.getEInt(), "exactScope", null, 0, 1, ExactScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2264
2265 initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2266 initEAttribute(getBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2267 initEAttribute(getBoundedScopeDefinition_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2268
2269 initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2270 initEAttribute(getLowerBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, LowerBoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2271
2272 initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2273 initEAttribute(getObjectiveDefinition_Kind(), this.getObjectiveKind(), "kind", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2274 initEReference(getObjectiveDefinition_Objective(), this.getExpression(), null, "objective", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2275
2276 initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2277 initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2278
2279 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2280 initEReference(getAssertion_Body(), this.getExpression(), null, "body", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2281 initEReference(getAssertion_Range(), this.getExpression(), null, "range", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2282
2283 initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2284 initEReference(getDisjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Disjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2285
2286 initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2287 initEReference(getSwitch_Cases(), this.getCase(), null, "cases", null, 0, -1, Switch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2288
2289 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2290 initEReference(getConjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Conjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2291
2292 initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2293 initEReference(getComparison_Left(), this.getExpression(), null, "left", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2294 initEAttribute(getComparison_Op(), this.getBinaryOperator(), "op", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2295 initEReference(getComparison_Right(), this.getExpression(), null, "right", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2296
2297 initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2298 initEReference(getBinaryExpression_Left(), this.getExpression(), null, "left", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2299 initEAttribute(getBinaryExpression_Op(), this.getBinaryOperator(), "op", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2300 initEReference(getBinaryExpression_Right(), this.getExpression(), null, "right", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2301
2302 initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2303 initEAttribute(getUnaryExpression_Op(), this.getUnaryOp(), "op", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2304 initEReference(getUnaryExpression_Body(), this.getExpression(), null, "body", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2305
2306 // Initialize enums and add enum literals
2307 initEEnum(metricTypeEEnum, MetricType.class, "MetricType");
2308 addEEnumLiteral(metricTypeEEnum, MetricType.INT);
2309 addEEnumLiteral(metricTypeEEnum, MetricType.REAL);
2310
2311 initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator");
2312 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ);
2313 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ);
2314 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS);
2315 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ);
2316 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER);
2317 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ);
2318 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN);
2319 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD);
2320 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB);
2321 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL);
2322 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV);
2323 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW);
2324
2325 initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp");
2326 addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG);
2327 addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS);
2328 addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS);
2329 addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY);
2330 addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST);
2331 addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT);
2332
2333 initEEnum(aggregationOpEEnum, AggregationOp.class, "AggregationOp");
2334 addEEnumLiteral(aggregationOpEEnum, AggregationOp.ONLY);
2335 addEEnumLiteral(aggregationOpEEnum, AggregationOp.SUM);
2336 addEEnumLiteral(aggregationOpEEnum, AggregationOp.PROD);
2337 addEEnumLiteral(aggregationOpEEnum, AggregationOp.AVG);
2338 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MIN);
2339 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MAX);
2340
2341 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
2342 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
2343 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
2344 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
2345 addEEnumLiteral(logicValueEEnum, LogicValue.ERROR);
2346
2347 initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind");
2348 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE);
2349 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE);
1955 2350
1956 // Create resource 2351 // Create resource
1957 createResource(eNS_URI); 2352 createResource(eNS_URI);
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
index faf3f06a..b0cecaab 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7 7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; 9import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>String Symbol</b></em>'. 13 * An implementation of the model object '<em><b>Star Argument</b></em>'.
14 * <!-- end-user-doc --> 14 * <!-- end-user-doc -->
15 * 15 *
16 * @generated 16 * @generated
17 */ 17 */
18public class StringSymbolImpl extends DataSymbolImpl implements StringSymbol 18public class StarArgumentImpl extends ArgumentImpl implements StarArgument
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected StringSymbolImpl() 25 protected StarArgumentImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class StringSymbolImpl extends DataSymbolImpl implements StringSymbol
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.STRING_SYMBOL; 38 return SolverLanguagePackage.Literals.STAR_ARGUMENT;
39 } 39 }
40 40
41} //StringSymbolImpl 41} //StarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
index 6e660396..dbd697ec 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
@@ -1,12 +1,27 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
6import org.eclipse.emf.ecore.EClass; 13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
7 15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9 18
19import org.eclipse.emf.ecore.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.EObjectResolvingEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Statement; 26import org.eclipse.viatra.solver.language.solverLanguage.Statement;
12 27
@@ -14,12 +29,81 @@ import org.eclipse.viatra.solver.language.solverLanguage.Statement;
14 * <!-- begin-user-doc --> 29 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Statement</b></em>'. 30 * An implementation of the model object '<em><b>Statement</b></em>'.
16 * <!-- end-user-doc --> 31 * <!-- end-user-doc -->
32 * <p>
33 * The following features are implemented:
34 * </p>
35 * <ul>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#isAbstract <em>Abstract</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getName <em>Name</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getSuperclasses <em>Superclasses</em>}</li>
39 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getMembers <em>Members</em>}</li>
40 * </ul>
17 * 41 *
18 * @generated 42 * @generated
19 */ 43 */
20public class StatementImpl extends MinimalEObjectImpl.Container implements Statement 44public class StatementImpl extends MinimalEObjectImpl.Container implements Statement
21{ 45{
22 /** 46 /**
47 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #isAbstract()
51 * @generated
52 * @ordered
53 */
54 protected static final boolean ABSTRACT_EDEFAULT = false;
55
56 /**
57 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #isAbstract()
61 * @generated
62 * @ordered
63 */
64 protected boolean abstract_ = ABSTRACT_EDEFAULT;
65
66 /**
67 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getName()
71 * @generated
72 * @ordered
73 */
74 protected static final String NAME_EDEFAULT = null;
75
76 /**
77 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #getName()
81 * @generated
82 * @ordered
83 */
84 protected String name = NAME_EDEFAULT;
85
86 /**
87 * The cached value of the '{@link #getSuperclasses() <em>Superclasses</em>}' reference list.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @see #getSuperclasses()
91 * @generated
92 * @ordered
93 */
94 protected EList<NamedElement> superclasses;
95
96 /**
97 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @see #getMembers()
101 * @generated
102 * @ordered
103 */
104 protected EList<MemberDefinition> members;
105
106 /**
23 * <!-- begin-user-doc --> 107 * <!-- begin-user-doc -->
24 * <!-- end-user-doc --> 108 * <!-- end-user-doc -->
25 * @generated 109 * @generated
@@ -40,4 +124,218 @@ public class StatementImpl extends MinimalEObjectImpl.Container implements State
40 return SolverLanguagePackage.Literals.STATEMENT; 124 return SolverLanguagePackage.Literals.STATEMENT;
41 } 125 }
42 126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public boolean isAbstract()
134 {
135 return abstract_;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void setAbstract(boolean newAbstract)
145 {
146 boolean oldAbstract = abstract_;
147 abstract_ = newAbstract;
148 if (eNotificationRequired())
149 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__ABSTRACT, oldAbstract, abstract_));
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public String getName()
159 {
160 return name;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void setName(String newName)
170 {
171 String oldName = name;
172 name = newName;
173 if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__NAME, oldName, name));
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public EList<NamedElement> getSuperclasses()
184 {
185 if (superclasses == null)
186 {
187 superclasses = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.STATEMENT__SUPERCLASSES);
188 }
189 return superclasses;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public EList<MemberDefinition> getMembers()
199 {
200 if (members == null)
201 {
202 members = new EObjectContainmentEList<MemberDefinition>(MemberDefinition.class, this, SolverLanguagePackage.STATEMENT__MEMBERS);
203 }
204 return members;
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
214 {
215 switch (featureID)
216 {
217 case SolverLanguagePackage.STATEMENT__MEMBERS:
218 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
219 }
220 return super.eInverseRemove(otherEnd, featureID, msgs);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public Object eGet(int featureID, boolean resolve, boolean coreType)
230 {
231 switch (featureID)
232 {
233 case SolverLanguagePackage.STATEMENT__ABSTRACT:
234 return isAbstract();
235 case SolverLanguagePackage.STATEMENT__NAME:
236 return getName();
237 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
238 return getSuperclasses();
239 case SolverLanguagePackage.STATEMENT__MEMBERS:
240 return getMembers();
241 }
242 return super.eGet(featureID, resolve, coreType);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @SuppressWarnings("unchecked")
251 @Override
252 public void eSet(int featureID, Object newValue)
253 {
254 switch (featureID)
255 {
256 case SolverLanguagePackage.STATEMENT__ABSTRACT:
257 setAbstract((Boolean)newValue);
258 return;
259 case SolverLanguagePackage.STATEMENT__NAME:
260 setName((String)newValue);
261 return;
262 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
263 getSuperclasses().clear();
264 getSuperclasses().addAll((Collection<? extends NamedElement>)newValue);
265 return;
266 case SolverLanguagePackage.STATEMENT__MEMBERS:
267 getMembers().clear();
268 getMembers().addAll((Collection<? extends MemberDefinition>)newValue);
269 return;
270 }
271 super.eSet(featureID, newValue);
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 @Override
280 public void eUnset(int featureID)
281 {
282 switch (featureID)
283 {
284 case SolverLanguagePackage.STATEMENT__ABSTRACT:
285 setAbstract(ABSTRACT_EDEFAULT);
286 return;
287 case SolverLanguagePackage.STATEMENT__NAME:
288 setName(NAME_EDEFAULT);
289 return;
290 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
291 getSuperclasses().clear();
292 return;
293 case SolverLanguagePackage.STATEMENT__MEMBERS:
294 getMembers().clear();
295 return;
296 }
297 super.eUnset(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public boolean eIsSet(int featureID)
307 {
308 switch (featureID)
309 {
310 case SolverLanguagePackage.STATEMENT__ABSTRACT:
311 return abstract_ != ABSTRACT_EDEFAULT;
312 case SolverLanguagePackage.STATEMENT__NAME:
313 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
314 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
315 return superclasses != null && !superclasses.isEmpty();
316 case SolverLanguagePackage.STATEMENT__MEMBERS:
317 return members != null && !members.isEmpty();
318 }
319 return super.eIsSet(featureID);
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public String toString()
329 {
330 if (eIsProxy()) return super.toString();
331
332 StringBuilder result = new StringBuilder(super.toString());
333 result.append(" (abstract: ");
334 result.append(abstract_);
335 result.append(", name: ");
336 result.append(name);
337 result.append(')');
338 return result.toString();
339 }
340
43} //StatementImpl 341} //StatementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
index 7a7866a7..2b0b2720 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl; 4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
@@ -10,22 +10,22 @@ import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11 11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.StringObject; 13import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
14 14
15/** 15/**
16 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>String Object</b></em>'. 17 * An implementation of the model object '<em><b>String Literal</b></em>'.
18 * <!-- end-user-doc --> 18 * <!-- end-user-doc -->
19 * <p> 19 * <p>
20 * The following features are implemented: 20 * The following features are implemented:
21 * </p> 21 * </p>
22 * <ul> 22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl#getValue <em>Value</em>}</li> 23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl#getValue <em>Value</em>}</li>
24 * </ul> 24 * </ul>
25 * 25 *
26 * @generated 26 * @generated
27 */ 27 */
28public class StringObjectImpl extends DataObjectImpl implements StringObject 28public class StringLiteralImpl extends LiteralImpl implements StringLiteral
29{ 29{
30 /** 30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -52,7 +52,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @generated 53 * @generated
54 */ 54 */
55 protected StringObjectImpl() 55 protected StringLiteralImpl()
56 { 56 {
57 super(); 57 super();
58 } 58 }
@@ -65,7 +65,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
65 @Override 65 @Override
66 protected EClass eStaticClass() 66 protected EClass eStaticClass()
67 { 67 {
68 return SolverLanguagePackage.Literals.STRING_OBJECT; 68 return SolverLanguagePackage.Literals.STRING_LITERAL;
69 } 69 }
70 70
71 /** 71 /**
@@ -90,7 +90,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
90 String oldValue = value; 90 String oldValue = value;
91 value = newValue; 91 value = newValue;
92 if (eNotificationRequired()) 92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_OBJECT__VALUE, oldValue, value)); 93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue, value));
94 } 94 }
95 95
96 /** 96 /**
@@ -103,7 +103,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
103 { 103 {
104 switch (featureID) 104 switch (featureID)
105 { 105 {
106 case SolverLanguagePackage.STRING_OBJECT__VALUE: 106 case SolverLanguagePackage.STRING_LITERAL__VALUE:
107 return getValue(); 107 return getValue();
108 } 108 }
109 return super.eGet(featureID, resolve, coreType); 109 return super.eGet(featureID, resolve, coreType);
@@ -119,7 +119,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
119 { 119 {
120 switch (featureID) 120 switch (featureID)
121 { 121 {
122 case SolverLanguagePackage.STRING_OBJECT__VALUE: 122 case SolverLanguagePackage.STRING_LITERAL__VALUE:
123 setValue((String)newValue); 123 setValue((String)newValue);
124 return; 124 return;
125 } 125 }
@@ -136,7 +136,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
136 { 136 {
137 switch (featureID) 137 switch (featureID)
138 { 138 {
139 case SolverLanguagePackage.STRING_OBJECT__VALUE: 139 case SolverLanguagePackage.STRING_LITERAL__VALUE:
140 setValue(VALUE_EDEFAULT); 140 setValue(VALUE_EDEFAULT);
141 return; 141 return;
142 } 142 }
@@ -153,7 +153,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.STRING_OBJECT__VALUE: 156 case SolverLanguagePackage.STRING_LITERAL__VALUE:
157 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); 157 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
158 } 158 }
159 return super.eIsSet(featureID); 159 return super.eIsSet(featureID);
@@ -176,4 +176,4 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
176 return result.toString(); 176 return result.toString();
177 } 177 }
178 178
179} //StringObjectImpl 179} //StringLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
new file mode 100644
index 00000000..fefd5be6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
@@ -0,0 +1,167 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Case;
19import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
20import org.eclipse.viatra.solver.language.solverLanguage.Switch;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Switch</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl#getCases <em>Cases</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class SwitchImpl extends ExpressionImpl implements Switch
36{
37 /**
38 * The cached value of the '{@link #getCases() <em>Cases</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getCases()
42 * @generated
43 * @ordered
44 */
45 protected EList<Case> cases;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected SwitchImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.SWITCH;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Case> getCases()
75 {
76 if (cases == null)
77 {
78 cases = new EObjectContainmentEList<Case>(Case.class, this, SolverLanguagePackage.SWITCH__CASES);
79 }
80 return cases;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.SWITCH__CASES:
94 return ((InternalEList<?>)getCases()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.SWITCH__CASES:
110 return getCases();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.SWITCH__CASES:
127 getCases().clear();
128 getCases().addAll((Collection<? extends Case>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.SWITCH__CASES:
145 getCases().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.SWITCH__CASES:
162 return cases != null && !cases.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //SwitchImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
deleted file mode 100644
index 15d1294e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Symbol</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class SymbolImpl extends MinimalEObjectImpl.Container implements Symbol
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected SymbolImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.SYMBOL;
41 }
42
43} //SymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java
deleted file mode 100644
index c0e04a9a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.True;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>True</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class TrueImpl extends TruthValueImpl implements True
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected TrueImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.TRUE;
39 }
40
41} //TrueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java
deleted file mode 100644
index f5b0fba6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Truth Value</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class TruthValueImpl extends MinimalEObjectImpl.Container implements TruthValue
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected TruthValueImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.TRUTH_VALUE;
41 }
42
43} //TruthValueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
new file mode 100644
index 00000000..2d93f402
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
@@ -0,0 +1,242 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Typed Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getType <em>Type</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getVariable <em>Variable</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class TypedArgumentImpl extends ArgumentImpl implements TypedArgument
32{
33 /**
34 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getType()
38 * @generated
39 * @ordered
40 */
41 protected NamedElement type;
42
43 /**
44 * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getVariable()
48 * @generated
49 * @ordered
50 */
51 protected NamedElement variable;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected TypedArgumentImpl()
59 {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass()
70 {
71 return SolverLanguagePackage.Literals.TYPED_ARGUMENT;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 public NamedElement getType()
81 {
82 if (type != null && type.eIsProxy())
83 {
84 InternalEObject oldType = (InternalEObject)type;
85 type = (NamedElement)eResolveProxy(oldType);
86 if (type != oldType)
87 {
88 if (eNotificationRequired())
89 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
90 }
91 }
92 return type;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public NamedElement basicGetType()
101 {
102 return type;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void setType(NamedElement newType)
112 {
113 NamedElement oldType = type;
114 type = newType;
115 if (eNotificationRequired())
116 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public NamedElement getVariable()
126 {
127 if (variable != null && variable.eIsProxy())
128 {
129 InternalEObject oldVariable = (InternalEObject)variable;
130 variable = (NamedElement)eResolveProxy(oldVariable);
131 if (variable != oldVariable)
132 {
133 if (eNotificationRequired())
134 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
135 }
136 }
137 return variable;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public NamedElement basicGetVariable()
146 {
147 return variable;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setVariable(NamedElement newVariable)
157 {
158 NamedElement oldVariable = variable;
159 variable = newVariable;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public Object eGet(int featureID, boolean resolve, boolean coreType)
171 {
172 switch (featureID)
173 {
174 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
175 if (resolve) return getType();
176 return basicGetType();
177 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
178 if (resolve) return getVariable();
179 return basicGetVariable();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void eSet(int featureID, Object newValue)
191 {
192 switch (featureID)
193 {
194 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
195 setType((NamedElement)newValue);
196 return;
197 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
198 setVariable((NamedElement)newValue);
199 return;
200 }
201 super.eSet(featureID, newValue);
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public void eUnset(int featureID)
211 {
212 switch (featureID)
213 {
214 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
215 setType((NamedElement)null);
216 return;
217 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
218 setVariable((NamedElement)null);
219 return;
220 }
221 super.eUnset(featureID);
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public boolean eIsSet(int featureID)
231 {
232 switch (featureID)
233 {
234 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
235 return type != null;
236 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
237 return variable != null;
238 }
239 return super.eIsSet(featureID);
240 }
241
242} //TypedArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
new file mode 100644
index 00000000..dd2b46bc
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
@@ -0,0 +1,175 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Typed Star Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl#getType <em>Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class TypedStarArgumentImpl extends ArgumentImpl implements TypedStarArgument
31{
32 /**
33 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getType()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement type;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected TypedStarArgumentImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getType()
70 {
71 if (type != null && type.eIsProxy())
72 {
73 InternalEObject oldType = (InternalEObject)type;
74 type = (NamedElement)eResolveProxy(oldType);
75 if (type != oldType)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
79 }
80 }
81 return type;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetType()
90 {
91 return type;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setType(NamedElement newType)
101 {
102 NamedElement oldType = type;
103 type = newType;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
119 if (resolve) return getType();
120 return basicGetType();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
136 setType((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
153 setType((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
170 return type != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //TypedStarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
new file mode 100644
index 00000000..ee5ebfbb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
@@ -0,0 +1,270 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
17import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Unary Expression</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getOp <em>Op</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getBody <em>Body</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression
34{
35 /**
36 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOp()
40 * @generated
41 * @ordered
42 */
43 protected static final UnaryOp OP_EDEFAULT = UnaryOp.NEG;
44
45 /**
46 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getOp()
50 * @generated
51 * @ordered
52 */
53 protected UnaryOp op = OP_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getBody()
60 * @generated
61 * @ordered
62 */
63 protected Expression body;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected UnaryExpressionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.UNARY_EXPRESSION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public UnaryOp getOp()
93 {
94 return op;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setOp(UnaryOp newOp)
104 {
105 UnaryOp oldOp = op;
106 op = newOp == null ? OP_EDEFAULT : newOp;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__OP, oldOp, op));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Expression getBody()
118 {
119 return body;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
128 {
129 Expression oldBody = body;
130 body = newBody;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, oldBody, newBody);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setBody(Expression newBody)
146 {
147 if (newBody != body)
148 {
149 NotificationChain msgs = null;
150 if (body != null)
151 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
152 if (newBody != null)
153 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
154 msgs = basicSetBody(newBody, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, newBody, newBody));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
172 return basicSetBody(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
188 return getOp();
189 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
190 return getBody();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
206 setOp((UnaryOp)newValue);
207 return;
208 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
209 setBody((Expression)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
226 setOp(OP_EDEFAULT);
227 return;
228 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
229 setBody((Expression)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
246 return op != OP_EDEFAULT;
247 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
248 return body != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (op: ");
265 result.append(op);
266 result.append(')');
267 return result.toString();
268 }
269
270} //UnaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
new file mode 100644
index 00000000..cd6a3271
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
@@ -0,0 +1,270 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Unnamed Error Prediate Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getArgumentList <em>Argument List</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getBody <em>Body</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class UnnamedErrorPrediateDefinitionImpl extends StatementImpl implements UnnamedErrorPrediateDefinition
34{
35 /**
36 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getArgumentList()
40 * @generated
41 * @ordered
42 */
43 protected ArgumentList argumentList;
44
45 /**
46 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getBody()
50 * @generated
51 * @ordered
52 */
53 protected Expression body;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected UnnamedErrorPrediateDefinitionImpl()
61 {
62 super();
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 protected EClass eStaticClass()
72 {
73 return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public ArgumentList getArgumentList()
83 {
84 return argumentList;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
93 {
94 ArgumentList oldArgumentList = argumentList;
95 argumentList = newArgumentList;
96 if (eNotificationRequired())
97 {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setArgumentList(ArgumentList newArgumentList)
111 {
112 if (newArgumentList != argumentList)
113 {
114 NotificationChain msgs = null;
115 if (argumentList != null)
116 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
117 if (newArgumentList != null)
118 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
119 msgs = basicSetArgumentList(newArgumentList, msgs);
120 if (msgs != null) msgs.dispatch();
121 }
122 else if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Expression getBody()
133 {
134 return body;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
143 {
144 Expression oldBody = body;
145 body = newBody;
146 if (eNotificationRequired())
147 {
148 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, oldBody, newBody);
149 if (msgs == null) msgs = notification; else msgs.add(notification);
150 }
151 return msgs;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void setBody(Expression newBody)
161 {
162 if (newBody != body)
163 {
164 NotificationChain msgs = null;
165 if (body != null)
166 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
167 if (newBody != null)
168 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
169 msgs = basicSetBody(newBody, msgs);
170 if (msgs != null) msgs.dispatch();
171 }
172 else if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, newBody, newBody));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
183 {
184 switch (featureID)
185 {
186 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
187 return basicSetArgumentList(null, msgs);
188 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
189 return basicSetBody(null, msgs);
190 }
191 return super.eInverseRemove(otherEnd, featureID, msgs);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public Object eGet(int featureID, boolean resolve, boolean coreType)
201 {
202 switch (featureID)
203 {
204 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
205 return getArgumentList();
206 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
207 return getBody();
208 }
209 return super.eGet(featureID, resolve, coreType);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eSet(int featureID, Object newValue)
219 {
220 switch (featureID)
221 {
222 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
223 setArgumentList((ArgumentList)newValue);
224 return;
225 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
226 setBody((Expression)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
243 setArgumentList((ArgumentList)null);
244 return;
245 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
246 setBody((Expression)null);
247 return;
248 }
249 super.eUnset(featureID);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public boolean eIsSet(int featureID)
259 {
260 switch (featureID)
261 {
262 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
263 return argumentList != null;
264 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
265 return body != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //UnnamedErrorPrediateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java
deleted file mode 100644
index 39bec164..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Unnamed Object</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class UnnamedObjectImpl extends ObjectImpl implements UnnamedObject
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected UnnamedObjectImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.UNNAMED_OBJECT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_OBJECT__NAME, oldName, name));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
107 return getName();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
123 setName((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
140 setName(NAME_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //UnnamedObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
index 9931598c..e46d6779 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util; 4package org.eclipse.viatra.solver.language.solverLanguage.util;
5 5
@@ -10,57 +10,7 @@ import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
10 10
11import org.eclipse.emf.ecore.EObject; 11import org.eclipse.emf.ecore.EObject;
12 12
13import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 13import org.eclipse.viatra.solver.language.solverLanguage.*;
14import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
15import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
21import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
24import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
25import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
26import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
27import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
32import org.eclipse.viatra.solver.language.solverLanguage.False;
33import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
34import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
35import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
36import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
37import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
38import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
39import org.eclipse.viatra.solver.language.solverLanguage.Literal;
40import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
41import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
42import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
43import org.eclipse.viatra.solver.language.solverLanguage.Negative;
44import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
45import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
46import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
47import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
48import org.eclipse.viatra.solver.language.solverLanguage.Positive;
49import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
50import org.eclipse.viatra.solver.language.solverLanguage.Problem;
51import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
53import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
54import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
55import org.eclipse.viatra.solver.language.solverLanguage.Statement;
56import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
57import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
58import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
59import org.eclipse.viatra.solver.language.solverLanguage.True;
60import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
61import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
62import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
63import org.eclipse.viatra.solver.language.solverLanguage.Variable;
64 14
65/** 15/**
66 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
@@ -136,254 +86,224 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
136 return createStatementAdapter(); 86 return createStatementAdapter();
137 } 87 }
138 @Override 88 @Override
139 public Adapter caseBooleanValue(BooleanValue object) 89 public Adapter casePredicateDefinition(PredicateDefinition object)
140 { 90 {
141 return createBooleanValueAdapter(); 91 return createPredicateDefinitionAdapter();
142 } 92 }
143 @Override 93 @Override
144 public Adapter caseTruthValue(TruthValue object) 94 public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
145 { 95 {
146 return createTruthValueAdapter(); 96 return createUnnamedErrorPrediateDefinitionAdapter();
147 } 97 }
148 @Override 98 @Override
149 public Adapter caseInterpretation(Interpretation object) 99 public Adapter caseDefaultDefinition(DefaultDefinition object)
150 { 100 {
151 return createInterpretationAdapter(); 101 return createDefaultDefinitionAdapter();
152 } 102 }
153 @Override 103 @Override
154 public Adapter caseBasicInterpretation(BasicInterpretation object) 104 public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object)
155 { 105 {
156 return createBasicInterpretationAdapter(); 106 return createExternPredicateDefinitionAdapter();
157 } 107 }
158 @Override 108 @Override
159 public Adapter caseSymbol(Symbol object) 109 public Adapter caseMetricDefinition(MetricDefinition object)
160 { 110 {
161 return createSymbolAdapter(); 111 return createMetricDefinitionAdapter();
162 } 112 }
163 @Override 113 @Override
164 public Adapter caseModelSymbol(ModelSymbol object) 114 public Adapter caseExternMetricDefinition(ExternMetricDefinition object)
165 { 115 {
166 return createModelSymbolAdapter(); 116 return createExternMetricDefinitionAdapter();
167 } 117 }
168 @Override 118 @Override
169 public Adapter casePartialitySymbol(PartialitySymbol object) 119 public Adapter caseExpression(Expression object)
170 { 120 {
171 return createPartialitySymbolAdapter(); 121 return createExpressionAdapter();
172 } 122 }
173 @Override 123 @Override
174 public Adapter caseExistSymbol(ExistSymbol object) 124 public Adapter caseIfElse(IfElse object)
175 { 125 {
176 return createExistSymbolAdapter(); 126 return createIfElseAdapter();
177 } 127 }
178 @Override 128 @Override
179 public Adapter caseEqualsSymbol(EqualsSymbol object) 129 public Adapter caseCase(Case object)
180 { 130 {
181 return createEqualsSymbolAdapter(); 131 return createCaseAdapter();
182 } 132 }
183 @Override 133 @Override
184 public Adapter caseDataSymbol(DataSymbol object) 134 public Adapter caseCount(Count object)
185 { 135 {
186 return createDataSymbolAdapter(); 136 return createCountAdapter();
187 } 137 }
188 @Override 138 @Override
189 public Adapter caseBooleanSymbol(BooleanSymbol object) 139 public Adapter caseAggregation(Aggregation object)
190 { 140 {
191 return createBooleanSymbolAdapter(); 141 return createAggregationAdapter();
192 } 142 }
193 @Override 143 @Override
194 public Adapter caseIntegerSymbol(IntegerSymbol object) 144 public Adapter caseCall(Call object)
195 { 145 {
196 return createIntegerSymbolAdapter(); 146 return createCallAdapter();
197 } 147 }
198 @Override 148 @Override
199 public Adapter caseRealSymbol(RealSymbol object) 149 public Adapter caseArgumentList(ArgumentList object)
200 { 150 {
201 return createRealSymbolAdapter(); 151 return createArgumentListAdapter();
202 } 152 }
203 @Override 153 @Override
204 public Adapter caseStringSymbol(StringSymbol object) 154 public Adapter caseArgument(Argument object)
205 { 155 {
206 return createStringSymbolAdapter(); 156 return createArgumentAdapter();
207 } 157 }
208 @Override 158 @Override
209 public Adapter caseComplexObject(ComplexObject object) 159 public Adapter caseExpressionArgument(ExpressionArgument object)
210 { 160 {
211 return createComplexObjectAdapter(); 161 return createExpressionArgumentAdapter();
212 } 162 }
213 @Override 163 @Override
214 public Adapter caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object) 164 public Adapter caseStarArgument(StarArgument object)
215 { 165 {
216 return createObjectAdapter(); 166 return createStarArgumentAdapter();
217 } 167 }
218 @Override 168 @Override
219 public Adapter caseNamedObject(NamedObject object) 169 public Adapter caseTypedArgument(TypedArgument object)
220 { 170 {
221 return createNamedObjectAdapter(); 171 return createTypedArgumentAdapter();
222 } 172 }
223 @Override 173 @Override
224 public Adapter caseUnnamedObject(UnnamedObject object) 174 public Adapter caseTypedStarArgument(TypedStarArgument object)
225 { 175 {
226 return createUnnamedObjectAdapter(); 176 return createTypedStarArgumentAdapter();
227 } 177 }
228 @Override 178 @Override
229 public Adapter caseDataObject(DataObject object) 179 public Adapter caseReference(Reference object)
230 { 180 {
231 return createDataObjectAdapter(); 181 return createReferenceAdapter();
232 } 182 }
233 @Override 183 @Override
234 public Adapter caseBooleanObject(BooleanObject object) 184 public Adapter caseInterval(Interval object)
235 { 185 {
236 return createBooleanObjectAdapter(); 186 return createIntervalAdapter();
237 } 187 }
238 @Override 188 @Override
239 public Adapter caseIntObject(IntObject object) 189 public Adapter caseLiteral(Literal object)
240 {
241 return createIntObjectAdapter();
242 }
243 @Override
244 public Adapter caseRealObject(RealObject object)
245 {
246 return createRealObjectAdapter();
247 }
248 @Override
249 public Adapter caseStringObject(StringObject object)
250 {
251 return createStringObjectAdapter();
252 }
253 @Override
254 public Adapter casePredicate(Predicate object)
255 {
256 return createPredicateAdapter();
257 }
258 @Override
259 public Adapter caseParameter(Parameter object)
260 {
261 return createParameterAdapter();
262 }
263 @Override
264 public Adapter casePatternBody(PatternBody object)
265 {
266 return createPatternBodyAdapter();
267 }
268 @Override
269 public Adapter casePolarity(Polarity object)
270 { 190 {
271 return createPolarityAdapter(); 191 return createLiteralAdapter();
272 } 192 }
273 @Override 193 @Override
274 public Adapter caseConstraint(Constraint object) 194 public Adapter caseLogicLiteral(LogicLiteral object)
275 { 195 {
276 return createConstraintAdapter(); 196 return createLogicLiteralAdapter();
277 } 197 }
278 @Override 198 @Override
279 public Adapter caseClosureType(ClosureType object) 199 public Adapter caseNumericLiteral(NumericLiteral object)
280 { 200 {
281 return createClosureTypeAdapter(); 201 return createNumericLiteralAdapter();
282 } 202 }
283 @Override 203 @Override
284 public Adapter caseLiteral(Literal object) 204 public Adapter caseInfinityLiteral(InfinityLiteral object)
285 { 205 {
286 return createLiteralAdapter(); 206 return createInfinityLiteralAdapter();
287 } 207 }
288 @Override 208 @Override
289 public Adapter caseVariable(Variable object) 209 public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
290 { 210 {
291 return createVariableAdapter(); 211 return createEmptyIntervalLiteralAdapter();
292 } 212 }
293 @Override 213 @Override
294 public Adapter caseAllInstances(AllInstances object) 214 public Adapter caseStringLiteral(StringLiteral object)
295 { 215 {
296 return createAllInstancesAdapter(); 216 return createStringLiteralAdapter();
297 } 217 }
298 @Override 218 @Override
299 public Adapter caseAllObjects(AllObjects object) 219 public Adapter caseMemberDefinition(MemberDefinition object)
300 { 220 {
301 return createAllObjectsAdapter(); 221 return createMemberDefinitionAdapter();
302 } 222 }
303 @Override 223 @Override
304 public Adapter caseDefaultInterpretation(DefaultInterpretation object) 224 public Adapter caseMultiplicity(Multiplicity object)
305 { 225 {
306 return createDefaultInterpretationAdapter(); 226 return createMultiplicityAdapter();
307 } 227 }
308 @Override 228 @Override
309 public Adapter caseCDInterpretation(CDInterpretation object) 229 public Adapter caseManyMultiplicity(ManyMultiplicity object)
310 { 230 {
311 return createCDInterpretationAdapter(); 231 return createManyMultiplicityAdapter();
312 } 232 }
313 @Override 233 @Override
314 public Adapter caseClassInterpretation(ClassInterpretation object) 234 public Adapter caseExactMultiplicity(ExactMultiplicity object)
315 { 235 {
316 return createClassInterpretationAdapter(); 236 return createExactMultiplicityAdapter();
317 } 237 }
318 @Override 238 @Override
319 public Adapter caseEnumInterpretation(EnumInterpretation object) 239 public Adapter caseBoundedMultiplicity(BoundedMultiplicity object)
320 { 240 {
321 return createEnumInterpretationAdapter(); 241 return createBoundedMultiplicityAdapter();
322 } 242 }
323 @Override 243 @Override
324 public Adapter caseFieldRelationInterpretation(FieldRelationInterpretation object) 244 public Adapter caseScopeDefinition(ScopeDefinition object)
325 { 245 {
326 return createFieldRelationInterpretationAdapter(); 246 return createScopeDefinitionAdapter();
327 } 247 }
328 @Override 248 @Override
329 public Adapter caseGlobalRelationInterpretation(GlobalRelationInterpretation object) 249 public Adapter caseExactScopeDefinition(ExactScopeDefinition object)
330 { 250 {
331 return createGlobalRelationInterpretationAdapter(); 251 return createExactScopeDefinitionAdapter();
332 } 252 }
333 @Override 253 @Override
334 public Adapter caseMultiplicityDefinition(MultiplicityDefinition object) 254 public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object)
335 { 255 {
336 return createMultiplicityDefinitionAdapter(); 256 return createBoundedScopeDefinitionAdapter();
337 } 257 }
338 @Override 258 @Override
339 public Adapter caseBooleanTrue(BooleanTrue object) 259 public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
340 { 260 {
341 return createBooleanTrueAdapter(); 261 return createLowerBoundedScopeDefinitionAdapter();
342 } 262 }
343 @Override 263 @Override
344 public Adapter caseBooleanFalse(BooleanFalse object) 264 public Adapter caseObjectiveDefinition(ObjectiveDefinition object)
345 { 265 {
346 return createBooleanFalseAdapter(); 266 return createObjectiveDefinitionAdapter();
347 } 267 }
348 @Override 268 @Override
349 public Adapter caseTrue(True object) 269 public Adapter caseNamedElement(NamedElement object)
350 { 270 {
351 return createTrueAdapter(); 271 return createNamedElementAdapter();
352 } 272 }
353 @Override 273 @Override
354 public Adapter caseFalse(False object) 274 public Adapter caseAssertion(Assertion object)
355 { 275 {
356 return createFalseAdapter(); 276 return createAssertionAdapter();
357 } 277 }
358 @Override 278 @Override
359 public Adapter caseUnknown(Unknown object) 279 public Adapter caseDisjunction(Disjunction object)
360 { 280 {
361 return createUnknownAdapter(); 281 return createDisjunctionAdapter();
362 } 282 }
363 @Override 283 @Override
364 public Adapter caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object) 284 public Adapter caseSwitch(Switch object)
365 { 285 {
366 return createErrorAdapter(); 286 return createSwitchAdapter();
367 } 287 }
368 @Override 288 @Override
369 public Adapter casePositive(Positive object) 289 public Adapter caseConjunction(Conjunction object)
370 { 290 {
371 return createPositiveAdapter(); 291 return createConjunctionAdapter();
372 } 292 }
373 @Override 293 @Override
374 public Adapter caseNegative(Negative object) 294 public Adapter caseComparison(Comparison object)
375 { 295 {
376 return createNegativeAdapter(); 296 return createComparisonAdapter();
377 } 297 }
378 @Override 298 @Override
379 public Adapter caseReflexiveClosure(ReflexiveClosure object) 299 public Adapter caseBinaryExpression(BinaryExpression object)
380 { 300 {
381 return createReflexiveClosureAdapter(); 301 return createBinaryExpressionAdapter();
382 } 302 }
383 @Override 303 @Override
384 public Adapter caseIrreflexiveClosure(IrreflexiveClosure object) 304 public Adapter caseUnaryExpression(UnaryExpression object)
385 { 305 {
386 return createIrreflexiveClosureAdapter(); 306 return createUnaryExpressionAdapter();
387 } 307 }
388 @Override 308 @Override
389 public Adapter defaultCase(EObject object) 309 public Adapter defaultCase(EObject object)
@@ -438,751 +358,661 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
438 } 358 }
439 359
440 /** 360 /**
441 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue <em>Boolean Value</em>}'. 361 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
442 * <!-- begin-user-doc -->
443 * This default implementation returns null so that we can easily ignore cases;
444 * it's useful to ignore a case when inheritance will catch all the cases anyway.
445 * <!-- end-user-doc -->
446 * @return the new adapter.
447 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanValue
448 * @generated
449 */
450 public Adapter createBooleanValueAdapter()
451 {
452 return null;
453 }
454
455 /**
456 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue <em>Truth Value</em>}'.
457 * <!-- begin-user-doc -->
458 * This default implementation returns null so that we can easily ignore cases;
459 * it's useful to ignore a case when inheritance will catch all the cases anyway.
460 * <!-- end-user-doc -->
461 * @return the new adapter.
462 * @see org.eclipse.viatra.solver.language.solverLanguage.TruthValue
463 * @generated
464 */
465 public Adapter createTruthValueAdapter()
466 {
467 return null;
468 }
469
470 /**
471 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</em>}'.
472 * <!-- begin-user-doc -->
473 * This default implementation returns null so that we can easily ignore cases;
474 * it's useful to ignore a case when inheritance will catch all the cases anyway.
475 * <!-- end-user-doc -->
476 * @return the new adapter.
477 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation
478 * @generated
479 */
480 public Adapter createInterpretationAdapter()
481 {
482 return null;
483 }
484
485 /**
486 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation <em>Basic Interpretation</em>}'.
487 * <!-- begin-user-doc -->
488 * This default implementation returns null so that we can easily ignore cases;
489 * it's useful to ignore a case when inheritance will catch all the cases anyway.
490 * <!-- end-user-doc -->
491 * @return the new adapter.
492 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation
493 * @generated
494 */
495 public Adapter createBasicInterpretationAdapter()
496 {
497 return null;
498 }
499
500 /**
501 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol <em>Symbol</em>}'.
502 * <!-- begin-user-doc -->
503 * This default implementation returns null so that we can easily ignore cases;
504 * it's useful to ignore a case when inheritance will catch all the cases anyway.
505 * <!-- end-user-doc -->
506 * @return the new adapter.
507 * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol
508 * @generated
509 */
510 public Adapter createSymbolAdapter()
511 {
512 return null;
513 }
514
515 /**
516 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol <em>Model Symbol</em>}'.
517 * <!-- begin-user-doc --> 362 * <!-- begin-user-doc -->
518 * This default implementation returns null so that we can easily ignore cases; 363 * This default implementation returns null so that we can easily ignore cases;
519 * it's useful to ignore a case when inheritance will catch all the cases anyway. 364 * it's useful to ignore a case when inheritance will catch all the cases anyway.
520 * <!-- end-user-doc --> 365 * <!-- end-user-doc -->
521 * @return the new adapter. 366 * @return the new adapter.
522 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol 367 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
523 * @generated 368 * @generated
524 */ 369 */
525 public Adapter createModelSymbolAdapter() 370 public Adapter createPredicateDefinitionAdapter()
526 { 371 {
527 return null; 372 return null;
528 } 373 }
529 374
530 /** 375 /**
531 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol <em>Partiality Symbol</em>}'. 376 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
532 * <!-- begin-user-doc --> 377 * <!-- begin-user-doc -->
533 * This default implementation returns null so that we can easily ignore cases; 378 * This default implementation returns null so that we can easily ignore cases;
534 * it's useful to ignore a case when inheritance will catch all the cases anyway. 379 * it's useful to ignore a case when inheritance will catch all the cases anyway.
535 * <!-- end-user-doc --> 380 * <!-- end-user-doc -->
536 * @return the new adapter. 381 * @return the new adapter.
537 * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol 382 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
538 * @generated 383 * @generated
539 */ 384 */
540 public Adapter createPartialitySymbolAdapter() 385 public Adapter createUnnamedErrorPrediateDefinitionAdapter()
541 { 386 {
542 return null; 387 return null;
543 } 388 }
544 389
545 /** 390 /**
546 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol <em>Exist Symbol</em>}'. 391 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
547 * <!-- begin-user-doc --> 392 * <!-- begin-user-doc -->
548 * This default implementation returns null so that we can easily ignore cases; 393 * This default implementation returns null so that we can easily ignore cases;
549 * it's useful to ignore a case when inheritance will catch all the cases anyway. 394 * it's useful to ignore a case when inheritance will catch all the cases anyway.
550 * <!-- end-user-doc --> 395 * <!-- end-user-doc -->
551 * @return the new adapter. 396 * @return the new adapter.
552 * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol 397 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
553 * @generated 398 * @generated
554 */ 399 */
555 public Adapter createExistSymbolAdapter() 400 public Adapter createDefaultDefinitionAdapter()
556 { 401 {
557 return null; 402 return null;
558 } 403 }
559 404
560 /** 405 /**
561 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol <em>Equals Symbol</em>}'. 406 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
562 * <!-- begin-user-doc --> 407 * <!-- begin-user-doc -->
563 * This default implementation returns null so that we can easily ignore cases; 408 * This default implementation returns null so that we can easily ignore cases;
564 * it's useful to ignore a case when inheritance will catch all the cases anyway. 409 * it's useful to ignore a case when inheritance will catch all the cases anyway.
565 * <!-- end-user-doc --> 410 * <!-- end-user-doc -->
566 * @return the new adapter. 411 * @return the new adapter.
567 * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol 412 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
568 * @generated 413 * @generated
569 */ 414 */
570 public Adapter createEqualsSymbolAdapter() 415 public Adapter createExternPredicateDefinitionAdapter()
571 { 416 {
572 return null; 417 return null;
573 } 418 }
574 419
575 /** 420 /**
576 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol <em>Data Symbol</em>}'. 421 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
577 * <!-- begin-user-doc --> 422 * <!-- begin-user-doc -->
578 * This default implementation returns null so that we can easily ignore cases; 423 * This default implementation returns null so that we can easily ignore cases;
579 * it's useful to ignore a case when inheritance will catch all the cases anyway. 424 * it's useful to ignore a case when inheritance will catch all the cases anyway.
580 * <!-- end-user-doc --> 425 * <!-- end-user-doc -->
581 * @return the new adapter. 426 * @return the new adapter.
582 * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol 427 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
583 * @generated 428 * @generated
584 */ 429 */
585 public Adapter createDataSymbolAdapter() 430 public Adapter createMetricDefinitionAdapter()
586 { 431 {
587 return null; 432 return null;
588 } 433 }
589 434
590 /** 435 /**
591 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol <em>Boolean Symbol</em>}'. 436 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
592 * <!-- begin-user-doc --> 437 * <!-- begin-user-doc -->
593 * This default implementation returns null so that we can easily ignore cases; 438 * This default implementation returns null so that we can easily ignore cases;
594 * it's useful to ignore a case when inheritance will catch all the cases anyway. 439 * it's useful to ignore a case when inheritance will catch all the cases anyway.
595 * <!-- end-user-doc --> 440 * <!-- end-user-doc -->
596 * @return the new adapter. 441 * @return the new adapter.
597 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol 442 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
598 * @generated 443 * @generated
599 */ 444 */
600 public Adapter createBooleanSymbolAdapter() 445 public Adapter createExternMetricDefinitionAdapter()
601 { 446 {
602 return null; 447 return null;
603 } 448 }
604 449
605 /** 450 /**
606 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol <em>Integer Symbol</em>}'. 451 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
607 * <!-- begin-user-doc --> 452 * <!-- begin-user-doc -->
608 * This default implementation returns null so that we can easily ignore cases; 453 * This default implementation returns null so that we can easily ignore cases;
609 * it's useful to ignore a case when inheritance will catch all the cases anyway. 454 * it's useful to ignore a case when inheritance will catch all the cases anyway.
610 * <!-- end-user-doc --> 455 * <!-- end-user-doc -->
611 * @return the new adapter. 456 * @return the new adapter.
612 * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol 457 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
613 * @generated 458 * @generated
614 */ 459 */
615 public Adapter createIntegerSymbolAdapter() 460 public Adapter createExpressionAdapter()
616 { 461 {
617 return null; 462 return null;
618 } 463 }
619 464
620 /** 465 /**
621 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol <em>Real Symbol</em>}'. 466 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
622 * <!-- begin-user-doc --> 467 * <!-- begin-user-doc -->
623 * This default implementation returns null so that we can easily ignore cases; 468 * This default implementation returns null so that we can easily ignore cases;
624 * it's useful to ignore a case when inheritance will catch all the cases anyway. 469 * it's useful to ignore a case when inheritance will catch all the cases anyway.
625 * <!-- end-user-doc --> 470 * <!-- end-user-doc -->
626 * @return the new adapter. 471 * @return the new adapter.
627 * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol 472 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
628 * @generated 473 * @generated
629 */ 474 */
630 public Adapter createRealSymbolAdapter() 475 public Adapter createIfElseAdapter()
631 { 476 {
632 return null; 477 return null;
633 } 478 }
634 479
635 /** 480 /**
636 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol <em>String Symbol</em>}'. 481 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
637 * <!-- begin-user-doc --> 482 * <!-- begin-user-doc -->
638 * This default implementation returns null so that we can easily ignore cases; 483 * This default implementation returns null so that we can easily ignore cases;
639 * it's useful to ignore a case when inheritance will catch all the cases anyway. 484 * it's useful to ignore a case when inheritance will catch all the cases anyway.
640 * <!-- end-user-doc --> 485 * <!-- end-user-doc -->
641 * @return the new adapter. 486 * @return the new adapter.
642 * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol 487 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
643 * @generated 488 * @generated
644 */ 489 */
645 public Adapter createStringSymbolAdapter() 490 public Adapter createCaseAdapter()
646 { 491 {
647 return null; 492 return null;
648 } 493 }
649 494
650 /** 495 /**
651 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject <em>Complex Object</em>}'. 496 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
652 * <!-- begin-user-doc --> 497 * <!-- begin-user-doc -->
653 * This default implementation returns null so that we can easily ignore cases; 498 * This default implementation returns null so that we can easily ignore cases;
654 * it's useful to ignore a case when inheritance will catch all the cases anyway. 499 * it's useful to ignore a case when inheritance will catch all the cases anyway.
655 * <!-- end-user-doc --> 500 * <!-- end-user-doc -->
656 * @return the new adapter. 501 * @return the new adapter.
657 * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject 502 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
658 * @generated 503 * @generated
659 */ 504 */
660 public Adapter createComplexObjectAdapter() 505 public Adapter createCountAdapter()
661 { 506 {
662 return null; 507 return null;
663 } 508 }
664 509
665 /** 510 /**
666 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object <em>Object</em>}'. 511 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
667 * <!-- begin-user-doc --> 512 * <!-- begin-user-doc -->
668 * This default implementation returns null so that we can easily ignore cases; 513 * This default implementation returns null so that we can easily ignore cases;
669 * it's useful to ignore a case when inheritance will catch all the cases anyway. 514 * it's useful to ignore a case when inheritance will catch all the cases anyway.
670 * <!-- end-user-doc --> 515 * <!-- end-user-doc -->
671 * @return the new adapter. 516 * @return the new adapter.
672 * @see org.eclipse.viatra.solver.language.solverLanguage.Object 517 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
673 * @generated 518 * @generated
674 */ 519 */
675 public Adapter createObjectAdapter() 520 public Adapter createAggregationAdapter()
676 { 521 {
677 return null; 522 return null;
678 } 523 }
679 524
680 /** 525 /**
681 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject <em>Named Object</em>}'. 526 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
682 * <!-- begin-user-doc --> 527 * <!-- begin-user-doc -->
683 * This default implementation returns null so that we can easily ignore cases; 528 * This default implementation returns null so that we can easily ignore cases;
684 * it's useful to ignore a case when inheritance will catch all the cases anyway. 529 * it's useful to ignore a case when inheritance will catch all the cases anyway.
685 * <!-- end-user-doc --> 530 * <!-- end-user-doc -->
686 * @return the new adapter. 531 * @return the new adapter.
687 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject 532 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
688 * @generated 533 * @generated
689 */ 534 */
690 public Adapter createNamedObjectAdapter() 535 public Adapter createCallAdapter()
691 { 536 {
692 return null; 537 return null;
693 } 538 }
694 539
695 /** 540 /**
696 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject <em>Unnamed Object</em>}'. 541 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
697 * <!-- begin-user-doc --> 542 * <!-- begin-user-doc -->
698 * This default implementation returns null so that we can easily ignore cases; 543 * This default implementation returns null so that we can easily ignore cases;
699 * it's useful to ignore a case when inheritance will catch all the cases anyway. 544 * it's useful to ignore a case when inheritance will catch all the cases anyway.
700 * <!-- end-user-doc --> 545 * <!-- end-user-doc -->
701 * @return the new adapter. 546 * @return the new adapter.
702 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject 547 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
703 * @generated 548 * @generated
704 */ 549 */
705 public Adapter createUnnamedObjectAdapter() 550 public Adapter createArgumentListAdapter()
706 { 551 {
707 return null; 552 return null;
708 } 553 }
709 554
710 /** 555 /**
711 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject <em>Data Object</em>}'. 556 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
712 * <!-- begin-user-doc --> 557 * <!-- begin-user-doc -->
713 * This default implementation returns null so that we can easily ignore cases; 558 * This default implementation returns null so that we can easily ignore cases;
714 * it's useful to ignore a case when inheritance will catch all the cases anyway. 559 * it's useful to ignore a case when inheritance will catch all the cases anyway.
715 * <!-- end-user-doc --> 560 * <!-- end-user-doc -->
716 * @return the new adapter. 561 * @return the new adapter.
717 * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject 562 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
718 * @generated 563 * @generated
719 */ 564 */
720 public Adapter createDataObjectAdapter() 565 public Adapter createArgumentAdapter()
721 { 566 {
722 return null; 567 return null;
723 } 568 }
724 569
725 /** 570 /**
726 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject <em>Boolean Object</em>}'. 571 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
727 * <!-- begin-user-doc --> 572 * <!-- begin-user-doc -->
728 * This default implementation returns null so that we can easily ignore cases; 573 * This default implementation returns null so that we can easily ignore cases;
729 * it's useful to ignore a case when inheritance will catch all the cases anyway. 574 * it's useful to ignore a case when inheritance will catch all the cases anyway.
730 * <!-- end-user-doc --> 575 * <!-- end-user-doc -->
731 * @return the new adapter. 576 * @return the new adapter.
732 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject 577 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
733 * @generated 578 * @generated
734 */ 579 */
735 public Adapter createBooleanObjectAdapter() 580 public Adapter createExpressionArgumentAdapter()
736 { 581 {
737 return null; 582 return null;
738 } 583 }
739 584
740 /** 585 /**
741 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject <em>Int Object</em>}'. 586 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
742 * <!-- begin-user-doc --> 587 * <!-- begin-user-doc -->
743 * This default implementation returns null so that we can easily ignore cases; 588 * This default implementation returns null so that we can easily ignore cases;
744 * it's useful to ignore a case when inheritance will catch all the cases anyway. 589 * it's useful to ignore a case when inheritance will catch all the cases anyway.
745 * <!-- end-user-doc --> 590 * <!-- end-user-doc -->
746 * @return the new adapter. 591 * @return the new adapter.
747 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject 592 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
748 * @generated 593 * @generated
749 */ 594 */
750 public Adapter createIntObjectAdapter() 595 public Adapter createStarArgumentAdapter()
751 { 596 {
752 return null; 597 return null;
753 } 598 }
754 599
755 /** 600 /**
756 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject <em>Real Object</em>}'. 601 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
757 * <!-- begin-user-doc --> 602 * <!-- begin-user-doc -->
758 * This default implementation returns null so that we can easily ignore cases; 603 * This default implementation returns null so that we can easily ignore cases;
759 * it's useful to ignore a case when inheritance will catch all the cases anyway. 604 * it's useful to ignore a case when inheritance will catch all the cases anyway.
760 * <!-- end-user-doc --> 605 * <!-- end-user-doc -->
761 * @return the new adapter. 606 * @return the new adapter.
762 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject 607 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
763 * @generated 608 * @generated
764 */ 609 */
765 public Adapter createRealObjectAdapter() 610 public Adapter createTypedArgumentAdapter()
766 { 611 {
767 return null; 612 return null;
768 } 613 }
769 614
770 /** 615 /**
771 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject <em>String Object</em>}'. 616 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
772 * <!-- begin-user-doc --> 617 * <!-- begin-user-doc -->
773 * This default implementation returns null so that we can easily ignore cases; 618 * This default implementation returns null so that we can easily ignore cases;
774 * it's useful to ignore a case when inheritance will catch all the cases anyway. 619 * it's useful to ignore a case when inheritance will catch all the cases anyway.
775 * <!-- end-user-doc --> 620 * <!-- end-user-doc -->
776 * @return the new adapter. 621 * @return the new adapter.
777 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject 622 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
778 * @generated 623 * @generated
779 */ 624 */
780 public Adapter createStringObjectAdapter() 625 public Adapter createTypedStarArgumentAdapter()
781 { 626 {
782 return null; 627 return null;
783 } 628 }
784 629
785 /** 630 /**
786 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'. 631 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
787 * <!-- begin-user-doc --> 632 * <!-- begin-user-doc -->
788 * This default implementation returns null so that we can easily ignore cases; 633 * This default implementation returns null so that we can easily ignore cases;
789 * it's useful to ignore a case when inheritance will catch all the cases anyway. 634 * it's useful to ignore a case when inheritance will catch all the cases anyway.
790 * <!-- end-user-doc --> 635 * <!-- end-user-doc -->
791 * @return the new adapter. 636 * @return the new adapter.
792 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate 637 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
793 * @generated 638 * @generated
794 */ 639 */
795 public Adapter createPredicateAdapter() 640 public Adapter createReferenceAdapter()
796 { 641 {
797 return null; 642 return null;
798 } 643 }
799 644
800 /** 645 /**
801 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'. 646 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
802 * <!-- begin-user-doc --> 647 * <!-- begin-user-doc -->
803 * This default implementation returns null so that we can easily ignore cases; 648 * This default implementation returns null so that we can easily ignore cases;
804 * it's useful to ignore a case when inheritance will catch all the cases anyway. 649 * it's useful to ignore a case when inheritance will catch all the cases anyway.
805 * <!-- end-user-doc --> 650 * <!-- end-user-doc -->
806 * @return the new adapter. 651 * @return the new adapter.
807 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter 652 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
808 * @generated 653 * @generated
809 */ 654 */
810 public Adapter createParameterAdapter() 655 public Adapter createIntervalAdapter()
811 { 656 {
812 return null; 657 return null;
813 } 658 }
814 659
815 /** 660 /**
816 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody <em>Pattern Body</em>}'. 661 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
817 * <!-- begin-user-doc -->
818 * This default implementation returns null so that we can easily ignore cases;
819 * it's useful to ignore a case when inheritance will catch all the cases anyway.
820 * <!-- end-user-doc -->
821 * @return the new adapter.
822 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody
823 * @generated
824 */
825 public Adapter createPatternBodyAdapter()
826 {
827 return null;
828 }
829
830 /**
831 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity <em>Polarity</em>}'.
832 * <!-- begin-user-doc --> 662 * <!-- begin-user-doc -->
833 * This default implementation returns null so that we can easily ignore cases; 663 * This default implementation returns null so that we can easily ignore cases;
834 * it's useful to ignore a case when inheritance will catch all the cases anyway. 664 * it's useful to ignore a case when inheritance will catch all the cases anyway.
835 * <!-- end-user-doc --> 665 * <!-- end-user-doc -->
836 * @return the new adapter. 666 * @return the new adapter.
837 * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity 667 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
838 * @generated 668 * @generated
839 */ 669 */
840 public Adapter createPolarityAdapter() 670 public Adapter createLiteralAdapter()
841 { 671 {
842 return null; 672 return null;
843 } 673 }
844 674
845 /** 675 /**
846 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint <em>Constraint</em>}'. 676 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
847 * <!-- begin-user-doc --> 677 * <!-- begin-user-doc -->
848 * This default implementation returns null so that we can easily ignore cases; 678 * This default implementation returns null so that we can easily ignore cases;
849 * it's useful to ignore a case when inheritance will catch all the cases anyway. 679 * it's useful to ignore a case when inheritance will catch all the cases anyway.
850 * <!-- end-user-doc --> 680 * <!-- end-user-doc -->
851 * @return the new adapter. 681 * @return the new adapter.
852 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint 682 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
853 * @generated 683 * @generated
854 */ 684 */
855 public Adapter createConstraintAdapter() 685 public Adapter createLogicLiteralAdapter()
856 { 686 {
857 return null; 687 return null;
858 } 688 }
859 689
860 /** 690 /**
861 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType <em>Closure Type</em>}'. 691 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
862 * <!-- begin-user-doc --> 692 * <!-- begin-user-doc -->
863 * This default implementation returns null so that we can easily ignore cases; 693 * This default implementation returns null so that we can easily ignore cases;
864 * it's useful to ignore a case when inheritance will catch all the cases anyway. 694 * it's useful to ignore a case when inheritance will catch all the cases anyway.
865 * <!-- end-user-doc --> 695 * <!-- end-user-doc -->
866 * @return the new adapter. 696 * @return the new adapter.
867 * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType 697 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
868 * @generated 698 * @generated
869 */ 699 */
870 public Adapter createClosureTypeAdapter() 700 public Adapter createNumericLiteralAdapter()
871 { 701 {
872 return null; 702 return null;
873 } 703 }
874 704
875 /** 705 /**
876 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'. 706 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
877 * <!-- begin-user-doc --> 707 * <!-- begin-user-doc -->
878 * This default implementation returns null so that we can easily ignore cases; 708 * This default implementation returns null so that we can easily ignore cases;
879 * it's useful to ignore a case when inheritance will catch all the cases anyway. 709 * it's useful to ignore a case when inheritance will catch all the cases anyway.
880 * <!-- end-user-doc --> 710 * <!-- end-user-doc -->
881 * @return the new adapter. 711 * @return the new adapter.
882 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal 712 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
883 * @generated 713 * @generated
884 */ 714 */
885 public Adapter createLiteralAdapter() 715 public Adapter createInfinityLiteralAdapter()
886 { 716 {
887 return null; 717 return null;
888 } 718 }
889 719
890 /** 720 /**
891 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'. 721 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
892 * <!-- begin-user-doc --> 722 * <!-- begin-user-doc -->
893 * This default implementation returns null so that we can easily ignore cases; 723 * This default implementation returns null so that we can easily ignore cases;
894 * it's useful to ignore a case when inheritance will catch all the cases anyway. 724 * it's useful to ignore a case when inheritance will catch all the cases anyway.
895 * <!-- end-user-doc --> 725 * <!-- end-user-doc -->
896 * @return the new adapter. 726 * @return the new adapter.
897 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable 727 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
898 * @generated 728 * @generated
899 */ 729 */
900 public Adapter createVariableAdapter() 730 public Adapter createEmptyIntervalLiteralAdapter()
901 { 731 {
902 return null; 732 return null;
903 } 733 }
904 734
905 /** 735 /**
906 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances <em>All Instances</em>}'. 736 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
907 * <!-- begin-user-doc --> 737 * <!-- begin-user-doc -->
908 * This default implementation returns null so that we can easily ignore cases; 738 * This default implementation returns null so that we can easily ignore cases;
909 * it's useful to ignore a case when inheritance will catch all the cases anyway. 739 * it's useful to ignore a case when inheritance will catch all the cases anyway.
910 * <!-- end-user-doc --> 740 * <!-- end-user-doc -->
911 * @return the new adapter. 741 * @return the new adapter.
912 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances 742 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
913 * @generated 743 * @generated
914 */ 744 */
915 public Adapter createAllInstancesAdapter() 745 public Adapter createStringLiteralAdapter()
916 { 746 {
917 return null; 747 return null;
918 } 748 }
919 749
920 /** 750 /**
921 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects <em>All Objects</em>}'. 751 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
922 * <!-- begin-user-doc --> 752 * <!-- begin-user-doc -->
923 * This default implementation returns null so that we can easily ignore cases; 753 * This default implementation returns null so that we can easily ignore cases;
924 * it's useful to ignore a case when inheritance will catch all the cases anyway. 754 * it's useful to ignore a case when inheritance will catch all the cases anyway.
925 * <!-- end-user-doc --> 755 * <!-- end-user-doc -->
926 * @return the new adapter. 756 * @return the new adapter.
927 * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects 757 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
928 * @generated 758 * @generated
929 */ 759 */
930 public Adapter createAllObjectsAdapter() 760 public Adapter createMemberDefinitionAdapter()
931 { 761 {
932 return null; 762 return null;
933 } 763 }
934 764
935 /** 765 /**
936 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation <em>Default Interpretation</em>}'. 766 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
937 * <!-- begin-user-doc --> 767 * <!-- begin-user-doc -->
938 * This default implementation returns null so that we can easily ignore cases; 768 * This default implementation returns null so that we can easily ignore cases;
939 * it's useful to ignore a case when inheritance will catch all the cases anyway. 769 * it's useful to ignore a case when inheritance will catch all the cases anyway.
940 * <!-- end-user-doc --> 770 * <!-- end-user-doc -->
941 * @return the new adapter. 771 * @return the new adapter.
942 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation 772 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
943 * @generated 773 * @generated
944 */ 774 */
945 public Adapter createDefaultInterpretationAdapter() 775 public Adapter createMultiplicityAdapter()
946 { 776 {
947 return null; 777 return null;
948 } 778 }
949 779
950 /** 780 /**
951 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation <em>CD Interpretation</em>}'. 781 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
952 * <!-- begin-user-doc --> 782 * <!-- begin-user-doc -->
953 * This default implementation returns null so that we can easily ignore cases; 783 * This default implementation returns null so that we can easily ignore cases;
954 * it's useful to ignore a case when inheritance will catch all the cases anyway. 784 * it's useful to ignore a case when inheritance will catch all the cases anyway.
955 * <!-- end-user-doc --> 785 * <!-- end-user-doc -->
956 * @return the new adapter. 786 * @return the new adapter.
957 * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation 787 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
958 * @generated 788 * @generated
959 */ 789 */
960 public Adapter createCDInterpretationAdapter() 790 public Adapter createManyMultiplicityAdapter()
961 { 791 {
962 return null; 792 return null;
963 } 793 }
964 794
965 /** 795 /**
966 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation <em>Class Interpretation</em>}'. 796 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
967 * <!-- begin-user-doc --> 797 * <!-- begin-user-doc -->
968 * This default implementation returns null so that we can easily ignore cases; 798 * This default implementation returns null so that we can easily ignore cases;
969 * it's useful to ignore a case when inheritance will catch all the cases anyway. 799 * it's useful to ignore a case when inheritance will catch all the cases anyway.
970 * <!-- end-user-doc --> 800 * <!-- end-user-doc -->
971 * @return the new adapter. 801 * @return the new adapter.
972 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation 802 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
973 * @generated 803 * @generated
974 */ 804 */
975 public Adapter createClassInterpretationAdapter() 805 public Adapter createExactMultiplicityAdapter()
976 { 806 {
977 return null; 807 return null;
978 } 808 }
979 809
980 /** 810 /**
981 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation <em>Enum Interpretation</em>}'. 811 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
982 * <!-- begin-user-doc --> 812 * <!-- begin-user-doc -->
983 * This default implementation returns null so that we can easily ignore cases; 813 * This default implementation returns null so that we can easily ignore cases;
984 * it's useful to ignore a case when inheritance will catch all the cases anyway. 814 * it's useful to ignore a case when inheritance will catch all the cases anyway.
985 * <!-- end-user-doc --> 815 * <!-- end-user-doc -->
986 * @return the new adapter. 816 * @return the new adapter.
987 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation 817 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
988 * @generated 818 * @generated
989 */ 819 */
990 public Adapter createEnumInterpretationAdapter() 820 public Adapter createBoundedMultiplicityAdapter()
991 { 821 {
992 return null; 822 return null;
993 } 823 }
994 824
995 /** 825 /**
996 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation <em>Field Relation Interpretation</em>}'. 826 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
997 * <!-- begin-user-doc --> 827 * <!-- begin-user-doc -->
998 * This default implementation returns null so that we can easily ignore cases; 828 * This default implementation returns null so that we can easily ignore cases;
999 * it's useful to ignore a case when inheritance will catch all the cases anyway. 829 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1000 * <!-- end-user-doc --> 830 * <!-- end-user-doc -->
1001 * @return the new adapter. 831 * @return the new adapter.
1002 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation 832 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
1003 * @generated 833 * @generated
1004 */ 834 */
1005 public Adapter createFieldRelationInterpretationAdapter() 835 public Adapter createScopeDefinitionAdapter()
1006 { 836 {
1007 return null; 837 return null;
1008 } 838 }
1009 839
1010 /** 840 /**
1011 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation <em>Global Relation Interpretation</em>}'. 841 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
1012 * <!-- begin-user-doc --> 842 * <!-- begin-user-doc -->
1013 * This default implementation returns null so that we can easily ignore cases; 843 * This default implementation returns null so that we can easily ignore cases;
1014 * it's useful to ignore a case when inheritance will catch all the cases anyway. 844 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1015 * <!-- end-user-doc --> 845 * <!-- end-user-doc -->
1016 * @return the new adapter. 846 * @return the new adapter.
1017 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation 847 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
1018 * @generated 848 * @generated
1019 */ 849 */
1020 public Adapter createGlobalRelationInterpretationAdapter() 850 public Adapter createExactScopeDefinitionAdapter()
1021 { 851 {
1022 return null; 852 return null;
1023 } 853 }
1024 854
1025 /** 855 /**
1026 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition <em>Multiplicity Definition</em>}'. 856 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
1027 * <!-- begin-user-doc --> 857 * <!-- begin-user-doc -->
1028 * This default implementation returns null so that we can easily ignore cases; 858 * This default implementation returns null so that we can easily ignore cases;
1029 * it's useful to ignore a case when inheritance will catch all the cases anyway. 859 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1030 * <!-- end-user-doc --> 860 * <!-- end-user-doc -->
1031 * @return the new adapter. 861 * @return the new adapter.
1032 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition 862 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
1033 * @generated 863 * @generated
1034 */ 864 */
1035 public Adapter createMultiplicityDefinitionAdapter() 865 public Adapter createBoundedScopeDefinitionAdapter()
1036 { 866 {
1037 return null; 867 return null;
1038 } 868 }
1039 869
1040 /** 870 /**
1041 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue <em>Boolean True</em>}'. 871 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
1042 * <!-- begin-user-doc --> 872 * <!-- begin-user-doc -->
1043 * This default implementation returns null so that we can easily ignore cases; 873 * This default implementation returns null so that we can easily ignore cases;
1044 * it's useful to ignore a case when inheritance will catch all the cases anyway. 874 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1045 * <!-- end-user-doc --> 875 * <!-- end-user-doc -->
1046 * @return the new adapter. 876 * @return the new adapter.
1047 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue 877 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
1048 * @generated 878 * @generated
1049 */ 879 */
1050 public Adapter createBooleanTrueAdapter() 880 public Adapter createLowerBoundedScopeDefinitionAdapter()
1051 { 881 {
1052 return null; 882 return null;
1053 } 883 }
1054 884
1055 /** 885 /**
1056 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse <em>Boolean False</em>}'. 886 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
1057 * <!-- begin-user-doc --> 887 * <!-- begin-user-doc -->
1058 * This default implementation returns null so that we can easily ignore cases; 888 * This default implementation returns null so that we can easily ignore cases;
1059 * it's useful to ignore a case when inheritance will catch all the cases anyway. 889 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1060 * <!-- end-user-doc --> 890 * <!-- end-user-doc -->
1061 * @return the new adapter. 891 * @return the new adapter.
1062 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse 892 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
1063 * @generated 893 * @generated
1064 */ 894 */
1065 public Adapter createBooleanFalseAdapter() 895 public Adapter createObjectiveDefinitionAdapter()
1066 { 896 {
1067 return null; 897 return null;
1068 } 898 }
1069 899
1070 /** 900 /**
1071 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.True <em>True</em>}'. 901 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
1072 * <!-- begin-user-doc --> 902 * <!-- begin-user-doc -->
1073 * This default implementation returns null so that we can easily ignore cases; 903 * This default implementation returns null so that we can easily ignore cases;
1074 * it's useful to ignore a case when inheritance will catch all the cases anyway. 904 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1075 * <!-- end-user-doc --> 905 * <!-- end-user-doc -->
1076 * @return the new adapter. 906 * @return the new adapter.
1077 * @see org.eclipse.viatra.solver.language.solverLanguage.True 907 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
1078 * @generated 908 * @generated
1079 */ 909 */
1080 public Adapter createTrueAdapter() 910 public Adapter createNamedElementAdapter()
1081 { 911 {
1082 return null; 912 return null;
1083 } 913 }
1084 914
1085 /** 915 /**
1086 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.False <em>False</em>}'. 916 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
1087 * <!-- begin-user-doc --> 917 * <!-- begin-user-doc -->
1088 * This default implementation returns null so that we can easily ignore cases; 918 * This default implementation returns null so that we can easily ignore cases;
1089 * it's useful to ignore a case when inheritance will catch all the cases anyway. 919 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1090 * <!-- end-user-doc --> 920 * <!-- end-user-doc -->
1091 * @return the new adapter. 921 * @return the new adapter.
1092 * @see org.eclipse.viatra.solver.language.solverLanguage.False 922 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
1093 * @generated 923 * @generated
1094 */ 924 */
1095 public Adapter createFalseAdapter() 925 public Adapter createAssertionAdapter()
1096 { 926 {
1097 return null; 927 return null;
1098 } 928 }
1099 929
1100 /** 930 /**
1101 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown <em>Unknown</em>}'. 931 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
1102 * <!-- begin-user-doc --> 932 * <!-- begin-user-doc -->
1103 * This default implementation returns null so that we can easily ignore cases; 933 * This default implementation returns null so that we can easily ignore cases;
1104 * it's useful to ignore a case when inheritance will catch all the cases anyway. 934 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1105 * <!-- end-user-doc --> 935 * <!-- end-user-doc -->
1106 * @return the new adapter. 936 * @return the new adapter.
1107 * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown 937 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
1108 * @generated 938 * @generated
1109 */ 939 */
1110 public Adapter createUnknownAdapter() 940 public Adapter createDisjunctionAdapter()
1111 { 941 {
1112 return null; 942 return null;
1113 } 943 }
1114 944
1115 /** 945 /**
1116 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error <em>Error</em>}'. 946 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
1117 * <!-- begin-user-doc --> 947 * <!-- begin-user-doc -->
1118 * This default implementation returns null so that we can easily ignore cases; 948 * This default implementation returns null so that we can easily ignore cases;
1119 * it's useful to ignore a case when inheritance will catch all the cases anyway. 949 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1120 * <!-- end-user-doc --> 950 * <!-- end-user-doc -->
1121 * @return the new adapter. 951 * @return the new adapter.
1122 * @see org.eclipse.viatra.solver.language.solverLanguage.Error 952 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
1123 * @generated 953 * @generated
1124 */ 954 */
1125 public Adapter createErrorAdapter() 955 public Adapter createSwitchAdapter()
1126 { 956 {
1127 return null; 957 return null;
1128 } 958 }
1129 959
1130 /** 960 /**
1131 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive <em>Positive</em>}'. 961 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
1132 * <!-- begin-user-doc --> 962 * <!-- begin-user-doc -->
1133 * This default implementation returns null so that we can easily ignore cases; 963 * This default implementation returns null so that we can easily ignore cases;
1134 * it's useful to ignore a case when inheritance will catch all the cases anyway. 964 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1135 * <!-- end-user-doc --> 965 * <!-- end-user-doc -->
1136 * @return the new adapter. 966 * @return the new adapter.
1137 * @see org.eclipse.viatra.solver.language.solverLanguage.Positive 967 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
1138 * @generated 968 * @generated
1139 */ 969 */
1140 public Adapter createPositiveAdapter() 970 public Adapter createConjunctionAdapter()
1141 { 971 {
1142 return null; 972 return null;
1143 } 973 }
1144 974
1145 /** 975 /**
1146 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative <em>Negative</em>}'. 976 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
1147 * <!-- begin-user-doc --> 977 * <!-- begin-user-doc -->
1148 * This default implementation returns null so that we can easily ignore cases; 978 * This default implementation returns null so that we can easily ignore cases;
1149 * it's useful to ignore a case when inheritance will catch all the cases anyway. 979 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1150 * <!-- end-user-doc --> 980 * <!-- end-user-doc -->
1151 * @return the new adapter. 981 * @return the new adapter.
1152 * @see org.eclipse.viatra.solver.language.solverLanguage.Negative 982 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
1153 * @generated 983 * @generated
1154 */ 984 */
1155 public Adapter createNegativeAdapter() 985 public Adapter createComparisonAdapter()
1156 { 986 {
1157 return null; 987 return null;
1158 } 988 }
1159 989
1160 /** 990 /**
1161 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure <em>Reflexive Closure</em>}'. 991 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
1162 * <!-- begin-user-doc --> 992 * <!-- begin-user-doc -->
1163 * This default implementation returns null so that we can easily ignore cases; 993 * This default implementation returns null so that we can easily ignore cases;
1164 * it's useful to ignore a case when inheritance will catch all the cases anyway. 994 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1165 * <!-- end-user-doc --> 995 * <!-- end-user-doc -->
1166 * @return the new adapter. 996 * @return the new adapter.
1167 * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure 997 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
1168 * @generated 998 * @generated
1169 */ 999 */
1170 public Adapter createReflexiveClosureAdapter() 1000 public Adapter createBinaryExpressionAdapter()
1171 { 1001 {
1172 return null; 1002 return null;
1173 } 1003 }
1174 1004
1175 /** 1005 /**
1176 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure <em>Irreflexive Closure</em>}'. 1006 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
1177 * <!-- begin-user-doc --> 1007 * <!-- begin-user-doc -->
1178 * This default implementation returns null so that we can easily ignore cases; 1008 * This default implementation returns null so that we can easily ignore cases;
1179 * it's useful to ignore a case when inheritance will catch all the cases anyway. 1009 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1180 * <!-- end-user-doc --> 1010 * <!-- end-user-doc -->
1181 * @return the new adapter. 1011 * @return the new adapter.
1182 * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure 1012 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
1183 * @generated 1013 * @generated
1184 */ 1014 */
1185 public Adapter createIrreflexiveClosureAdapter() 1015 public Adapter createUnaryExpressionAdapter()
1186 { 1016 {
1187 return null; 1017 return null;
1188 } 1018 }
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
index 6f6bcd17..f64b6bc0 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util; 4package org.eclipse.viatra.solver.language.solverLanguage.util;
5 5
@@ -8,57 +8,7 @@ import org.eclipse.emf.ecore.EPackage;
8 8
9import org.eclipse.emf.ecore.util.Switch; 9import org.eclipse.emf.ecore.util.Switch;
10 10
11import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 11import org.eclipse.viatra.solver.language.solverLanguage.*;
12import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
13import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
19import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
20import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
21import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
22import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
23import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
24import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
25import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
26import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
27import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
28import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
30import org.eclipse.viatra.solver.language.solverLanguage.False;
31import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
32import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
33import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
34import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
35import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
36import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
37import org.eclipse.viatra.solver.language.solverLanguage.Literal;
38import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
39import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
40import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
41import org.eclipse.viatra.solver.language.solverLanguage.Negative;
42import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
43import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
44import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
45import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
46import org.eclipse.viatra.solver.language.solverLanguage.Positive;
47import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
48import org.eclipse.viatra.solver.language.solverLanguage.Problem;
49import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
50import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
51import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
52import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
53import org.eclipse.viatra.solver.language.solverLanguage.Statement;
54import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
55import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
56import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
57import org.eclipse.viatra.solver.language.solverLanguage.True;
58import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
59import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
60import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
61import org.eclipse.viatra.solver.language.solverLanguage.Variable;
62 12
63/** 13/**
64 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
@@ -137,423 +87,377 @@ public class SolverLanguageSwitch<T> extends Switch<T>
137 if (result == null) result = defaultCase(theEObject); 87 if (result == null) result = defaultCase(theEObject);
138 return result; 88 return result;
139 } 89 }
140 case SolverLanguagePackage.BOOLEAN_VALUE: 90 case SolverLanguagePackage.PREDICATE_DEFINITION:
141 { 91 {
142 BooleanValue booleanValue = (BooleanValue)theEObject; 92 PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject;
143 T result = caseBooleanValue(booleanValue); 93 T result = casePredicateDefinition(predicateDefinition);
94 if (result == null) result = caseStatement(predicateDefinition);
144 if (result == null) result = defaultCase(theEObject); 95 if (result == null) result = defaultCase(theEObject);
145 return result; 96 return result;
146 } 97 }
147 case SolverLanguagePackage.TRUTH_VALUE: 98 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION:
148 { 99 {
149 TruthValue truthValue = (TruthValue)theEObject; 100 UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject;
150 T result = caseTruthValue(truthValue); 101 T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition);
102 if (result == null) result = caseStatement(unnamedErrorPrediateDefinition);
151 if (result == null) result = defaultCase(theEObject); 103 if (result == null) result = defaultCase(theEObject);
152 return result; 104 return result;
153 } 105 }
154 case SolverLanguagePackage.INTERPRETATION: 106 case SolverLanguagePackage.DEFAULT_DEFINITION:
155 { 107 {
156 Interpretation interpretation = (Interpretation)theEObject; 108 DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject;
157 T result = caseInterpretation(interpretation); 109 T result = caseDefaultDefinition(defaultDefinition);
158 if (result == null) result = caseStatement(interpretation); 110 if (result == null) result = caseStatement(defaultDefinition);
159 if (result == null) result = defaultCase(theEObject); 111 if (result == null) result = defaultCase(theEObject);
160 return result; 112 return result;
161 } 113 }
162 case SolverLanguagePackage.BASIC_INTERPRETATION: 114 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION:
163 { 115 {
164 BasicInterpretation basicInterpretation = (BasicInterpretation)theEObject; 116 ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject;
165 T result = caseBasicInterpretation(basicInterpretation); 117 T result = caseExternPredicateDefinition(externPredicateDefinition);
166 if (result == null) result = caseInterpretation(basicInterpretation); 118 if (result == null) result = caseStatement(externPredicateDefinition);
167 if (result == null) result = caseStatement(basicInterpretation);
168 if (result == null) result = defaultCase(theEObject); 119 if (result == null) result = defaultCase(theEObject);
169 return result; 120 return result;
170 } 121 }
171 case SolverLanguagePackage.SYMBOL: 122 case SolverLanguagePackage.METRIC_DEFINITION:
172 { 123 {
173 Symbol symbol = (Symbol)theEObject; 124 MetricDefinition metricDefinition = (MetricDefinition)theEObject;
174 T result = caseSymbol(symbol); 125 T result = caseMetricDefinition(metricDefinition);
126 if (result == null) result = caseStatement(metricDefinition);
175 if (result == null) result = defaultCase(theEObject); 127 if (result == null) result = defaultCase(theEObject);
176 return result; 128 return result;
177 } 129 }
178 case SolverLanguagePackage.MODEL_SYMBOL: 130 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION:
179 { 131 {
180 ModelSymbol modelSymbol = (ModelSymbol)theEObject; 132 ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject;
181 T result = caseModelSymbol(modelSymbol); 133 T result = caseExternMetricDefinition(externMetricDefinition);
182 if (result == null) result = caseSymbol(modelSymbol); 134 if (result == null) result = caseStatement(externMetricDefinition);
183 if (result == null) result = defaultCase(theEObject); 135 if (result == null) result = defaultCase(theEObject);
184 return result; 136 return result;
185 } 137 }
186 case SolverLanguagePackage.PARTIALITY_SYMBOL: 138 case SolverLanguagePackage.EXPRESSION:
187 { 139 {
188 PartialitySymbol partialitySymbol = (PartialitySymbol)theEObject; 140 Expression expression = (Expression)theEObject;
189 T result = casePartialitySymbol(partialitySymbol); 141 T result = caseExpression(expression);
190 if (result == null) result = caseSymbol(partialitySymbol); 142 if (result == null) result = caseStatement(expression);
191 if (result == null) result = defaultCase(theEObject); 143 if (result == null) result = defaultCase(theEObject);
192 return result; 144 return result;
193 } 145 }
194 case SolverLanguagePackage.EXIST_SYMBOL: 146 case SolverLanguagePackage.IF_ELSE:
195 { 147 {
196 ExistSymbol existSymbol = (ExistSymbol)theEObject; 148 IfElse ifElse = (IfElse)theEObject;
197 T result = caseExistSymbol(existSymbol); 149 T result = caseIfElse(ifElse);
198 if (result == null) result = casePartialitySymbol(existSymbol); 150 if (result == null) result = caseExpression(ifElse);
199 if (result == null) result = caseSymbol(existSymbol); 151 if (result == null) result = caseStatement(ifElse);
200 if (result == null) result = defaultCase(theEObject); 152 if (result == null) result = defaultCase(theEObject);
201 return result; 153 return result;
202 } 154 }
203 case SolverLanguagePackage.EQUALS_SYMBOL: 155 case SolverLanguagePackage.CASE:
204 { 156 {
205 EqualsSymbol equalsSymbol = (EqualsSymbol)theEObject; 157 Case case_ = (Case)theEObject;
206 T result = caseEqualsSymbol(equalsSymbol); 158 T result = caseCase(case_);
207 if (result == null) result = casePartialitySymbol(equalsSymbol); 159 if (result == null) result = caseExpression(case_);
208 if (result == null) result = caseSymbol(equalsSymbol); 160 if (result == null) result = caseStatement(case_);
209 if (result == null) result = defaultCase(theEObject); 161 if (result == null) result = defaultCase(theEObject);
210 return result; 162 return result;
211 } 163 }
212 case SolverLanguagePackage.DATA_SYMBOL: 164 case SolverLanguagePackage.COUNT:
213 { 165 {
214 DataSymbol dataSymbol = (DataSymbol)theEObject; 166 Count count = (Count)theEObject;
215 T result = caseDataSymbol(dataSymbol); 167 T result = caseCount(count);
216 if (result == null) result = caseSymbol(dataSymbol); 168 if (result == null) result = caseExpression(count);
169 if (result == null) result = caseStatement(count);
217 if (result == null) result = defaultCase(theEObject); 170 if (result == null) result = defaultCase(theEObject);
218 return result; 171 return result;
219 } 172 }
220 case SolverLanguagePackage.BOOLEAN_SYMBOL: 173 case SolverLanguagePackage.AGGREGATION:
221 { 174 {
222 BooleanSymbol booleanSymbol = (BooleanSymbol)theEObject; 175 Aggregation aggregation = (Aggregation)theEObject;
223 T result = caseBooleanSymbol(booleanSymbol); 176 T result = caseAggregation(aggregation);
224 if (result == null) result = caseDataSymbol(booleanSymbol); 177 if (result == null) result = caseExpression(aggregation);
225 if (result == null) result = caseSymbol(booleanSymbol); 178 if (result == null) result = caseStatement(aggregation);
226 if (result == null) result = defaultCase(theEObject); 179 if (result == null) result = defaultCase(theEObject);
227 return result; 180 return result;
228 } 181 }
229 case SolverLanguagePackage.INTEGER_SYMBOL: 182 case SolverLanguagePackage.CALL:
230 { 183 {
231 IntegerSymbol integerSymbol = (IntegerSymbol)theEObject; 184 Call call = (Call)theEObject;
232 T result = caseIntegerSymbol(integerSymbol); 185 T result = caseCall(call);
233 if (result == null) result = caseDataSymbol(integerSymbol); 186 if (result == null) result = caseExpression(call);
234 if (result == null) result = caseSymbol(integerSymbol); 187 if (result == null) result = caseStatement(call);
235 if (result == null) result = defaultCase(theEObject); 188 if (result == null) result = defaultCase(theEObject);
236 return result; 189 return result;
237 } 190 }
238 case SolverLanguagePackage.REAL_SYMBOL: 191 case SolverLanguagePackage.ARGUMENT_LIST:
239 { 192 {
240 RealSymbol realSymbol = (RealSymbol)theEObject; 193 ArgumentList argumentList = (ArgumentList)theEObject;
241 T result = caseRealSymbol(realSymbol); 194 T result = caseArgumentList(argumentList);
242 if (result == null) result = caseDataSymbol(realSymbol);
243 if (result == null) result = caseSymbol(realSymbol);
244 if (result == null) result = defaultCase(theEObject); 195 if (result == null) result = defaultCase(theEObject);
245 return result; 196 return result;
246 } 197 }
247 case SolverLanguagePackage.STRING_SYMBOL: 198 case SolverLanguagePackage.ARGUMENT:
248 { 199 {
249 StringSymbol stringSymbol = (StringSymbol)theEObject; 200 Argument argument = (Argument)theEObject;
250 T result = caseStringSymbol(stringSymbol); 201 T result = caseArgument(argument);
251 if (result == null) result = caseDataSymbol(stringSymbol);
252 if (result == null) result = caseSymbol(stringSymbol);
253 if (result == null) result = defaultCase(theEObject); 202 if (result == null) result = defaultCase(theEObject);
254 return result; 203 return result;
255 } 204 }
256 case SolverLanguagePackage.COMPLEX_OBJECT: 205 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
257 { 206 {
258 ComplexObject complexObject = (ComplexObject)theEObject; 207 ExpressionArgument expressionArgument = (ExpressionArgument)theEObject;
259 T result = caseComplexObject(complexObject); 208 T result = caseExpressionArgument(expressionArgument);
209 if (result == null) result = caseArgument(expressionArgument);
260 if (result == null) result = defaultCase(theEObject); 210 if (result == null) result = defaultCase(theEObject);
261 return result; 211 return result;
262 } 212 }
263 case SolverLanguagePackage.OBJECT: 213 case SolverLanguagePackage.STAR_ARGUMENT:
264 { 214 {
265 org.eclipse.viatra.solver.language.solverLanguage.Object object = (org.eclipse.viatra.solver.language.solverLanguage.Object)theEObject; 215 StarArgument starArgument = (StarArgument)theEObject;
266 T result = caseObject(object); 216 T result = caseStarArgument(starArgument);
267 if (result == null) result = caseComplexObject(object); 217 if (result == null) result = caseArgument(starArgument);
268 if (result == null) result = defaultCase(theEObject); 218 if (result == null) result = defaultCase(theEObject);
269 return result; 219 return result;
270 } 220 }
271 case SolverLanguagePackage.NAMED_OBJECT: 221 case SolverLanguagePackage.TYPED_ARGUMENT:
272 { 222 {
273 NamedObject namedObject = (NamedObject)theEObject; 223 TypedArgument typedArgument = (TypedArgument)theEObject;
274 T result = caseNamedObject(namedObject); 224 T result = caseTypedArgument(typedArgument);
275 if (result == null) result = caseObject(namedObject); 225 if (result == null) result = caseArgument(typedArgument);
276 if (result == null) result = caseLiteral(namedObject);
277 if (result == null) result = caseComplexObject(namedObject);
278 if (result == null) result = defaultCase(theEObject); 226 if (result == null) result = defaultCase(theEObject);
279 return result; 227 return result;
280 } 228 }
281 case SolverLanguagePackage.UNNAMED_OBJECT: 229 case SolverLanguagePackage.TYPED_STAR_ARGUMENT:
282 { 230 {
283 UnnamedObject unnamedObject = (UnnamedObject)theEObject; 231 TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject;
284 T result = caseUnnamedObject(unnamedObject); 232 T result = caseTypedStarArgument(typedStarArgument);
285 if (result == null) result = caseObject(unnamedObject); 233 if (result == null) result = caseArgument(typedStarArgument);
286 if (result == null) result = caseComplexObject(unnamedObject);
287 if (result == null) result = defaultCase(theEObject); 234 if (result == null) result = defaultCase(theEObject);
288 return result; 235 return result;
289 } 236 }
290 case SolverLanguagePackage.DATA_OBJECT: 237 case SolverLanguagePackage.REFERENCE:
291 { 238 {
292 DataObject dataObject = (DataObject)theEObject; 239 Reference reference = (Reference)theEObject;
293 T result = caseDataObject(dataObject); 240 T result = caseReference(reference);
294 if (result == null) result = caseObject(dataObject); 241 if (result == null) result = caseExpression(reference);
295 if (result == null) result = caseLiteral(dataObject); 242 if (result == null) result = caseStatement(reference);
296 if (result == null) result = caseComplexObject(dataObject);
297 if (result == null) result = defaultCase(theEObject); 243 if (result == null) result = defaultCase(theEObject);
298 return result; 244 return result;
299 } 245 }
300 case SolverLanguagePackage.BOOLEAN_OBJECT: 246 case SolverLanguagePackage.INTERVAL:
301 { 247 {
302 BooleanObject booleanObject = (BooleanObject)theEObject; 248 Interval interval = (Interval)theEObject;
303 T result = caseBooleanObject(booleanObject); 249 T result = caseInterval(interval);
304 if (result == null) result = caseDataObject(booleanObject); 250 if (result == null) result = caseExpression(interval);
305 if (result == null) result = caseObject(booleanObject); 251 if (result == null) result = caseStatement(interval);
306 if (result == null) result = caseLiteral(booleanObject);
307 if (result == null) result = caseComplexObject(booleanObject);
308 if (result == null) result = defaultCase(theEObject); 252 if (result == null) result = defaultCase(theEObject);
309 return result; 253 return result;
310 } 254 }
311 case SolverLanguagePackage.INT_OBJECT: 255 case SolverLanguagePackage.LITERAL:
312 {
313 IntObject intObject = (IntObject)theEObject;
314 T result = caseIntObject(intObject);
315 if (result == null) result = caseDataObject(intObject);
316 if (result == null) result = caseObject(intObject);
317 if (result == null) result = caseLiteral(intObject);
318 if (result == null) result = caseComplexObject(intObject);
319 if (result == null) result = defaultCase(theEObject);
320 return result;
321 }
322 case SolverLanguagePackage.REAL_OBJECT:
323 {
324 RealObject realObject = (RealObject)theEObject;
325 T result = caseRealObject(realObject);
326 if (result == null) result = caseDataObject(realObject);
327 if (result == null) result = caseObject(realObject);
328 if (result == null) result = caseLiteral(realObject);
329 if (result == null) result = caseComplexObject(realObject);
330 if (result == null) result = defaultCase(theEObject);
331 return result;
332 }
333 case SolverLanguagePackage.STRING_OBJECT:
334 {
335 StringObject stringObject = (StringObject)theEObject;
336 T result = caseStringObject(stringObject);
337 if (result == null) result = caseDataObject(stringObject);
338 if (result == null) result = caseObject(stringObject);
339 if (result == null) result = caseLiteral(stringObject);
340 if (result == null) result = caseComplexObject(stringObject);
341 if (result == null) result = defaultCase(theEObject);
342 return result;
343 }
344 case SolverLanguagePackage.PREDICATE:
345 {
346 Predicate predicate = (Predicate)theEObject;
347 T result = casePredicate(predicate);
348 if (result == null) result = caseStatement(predicate);
349 if (result == null) result = defaultCase(theEObject);
350 return result;
351 }
352 case SolverLanguagePackage.PARAMETER:
353 {
354 Parameter parameter = (Parameter)theEObject;
355 T result = caseParameter(parameter);
356 if (result == null) result = defaultCase(theEObject);
357 return result;
358 }
359 case SolverLanguagePackage.PATTERN_BODY:
360 { 256 {
361 PatternBody patternBody = (PatternBody)theEObject; 257 Literal literal = (Literal)theEObject;
362 T result = casePatternBody(patternBody); 258 T result = caseLiteral(literal);
259 if (result == null) result = caseExpression(literal);
260 if (result == null) result = caseStatement(literal);
363 if (result == null) result = defaultCase(theEObject); 261 if (result == null) result = defaultCase(theEObject);
364 return result; 262 return result;
365 } 263 }
366 case SolverLanguagePackage.POLARITY: 264 case SolverLanguagePackage.LOGIC_LITERAL:
367 { 265 {
368 Polarity polarity = (Polarity)theEObject; 266 LogicLiteral logicLiteral = (LogicLiteral)theEObject;
369 T result = casePolarity(polarity); 267 T result = caseLogicLiteral(logicLiteral);
268 if (result == null) result = caseLiteral(logicLiteral);
269 if (result == null) result = caseExpression(logicLiteral);
270 if (result == null) result = caseStatement(logicLiteral);
370 if (result == null) result = defaultCase(theEObject); 271 if (result == null) result = defaultCase(theEObject);
371 return result; 272 return result;
372 } 273 }
373 case SolverLanguagePackage.CONSTRAINT: 274 case SolverLanguagePackage.NUMERIC_LITERAL:
374 { 275 {
375 Constraint constraint = (Constraint)theEObject; 276 NumericLiteral numericLiteral = (NumericLiteral)theEObject;
376 T result = caseConstraint(constraint); 277 T result = caseNumericLiteral(numericLiteral);
278 if (result == null) result = caseLiteral(numericLiteral);
279 if (result == null) result = caseExpression(numericLiteral);
280 if (result == null) result = caseStatement(numericLiteral);
377 if (result == null) result = defaultCase(theEObject); 281 if (result == null) result = defaultCase(theEObject);
378 return result; 282 return result;
379 } 283 }
380 case SolverLanguagePackage.CLOSURE_TYPE: 284 case SolverLanguagePackage.INFINITY_LITERAL:
381 { 285 {
382 ClosureType closureType = (ClosureType)theEObject; 286 InfinityLiteral infinityLiteral = (InfinityLiteral)theEObject;
383 T result = caseClosureType(closureType); 287 T result = caseInfinityLiteral(infinityLiteral);
288 if (result == null) result = caseLiteral(infinityLiteral);
289 if (result == null) result = caseExpression(infinityLiteral);
290 if (result == null) result = caseStatement(infinityLiteral);
384 if (result == null) result = defaultCase(theEObject); 291 if (result == null) result = defaultCase(theEObject);
385 return result; 292 return result;
386 } 293 }
387 case SolverLanguagePackage.LITERAL: 294 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL:
388 { 295 {
389 Literal literal = (Literal)theEObject; 296 EmptyIntervalLiteral emptyIntervalLiteral = (EmptyIntervalLiteral)theEObject;
390 T result = caseLiteral(literal); 297 T result = caseEmptyIntervalLiteral(emptyIntervalLiteral);
298 if (result == null) result = caseLiteral(emptyIntervalLiteral);
299 if (result == null) result = caseExpression(emptyIntervalLiteral);
300 if (result == null) result = caseStatement(emptyIntervalLiteral);
391 if (result == null) result = defaultCase(theEObject); 301 if (result == null) result = defaultCase(theEObject);
392 return result; 302 return result;
393 } 303 }
394 case SolverLanguagePackage.VARIABLE: 304 case SolverLanguagePackage.STRING_LITERAL:
395 { 305 {
396 Variable variable = (Variable)theEObject; 306 StringLiteral stringLiteral = (StringLiteral)theEObject;
397 T result = caseVariable(variable); 307 T result = caseStringLiteral(stringLiteral);
398 if (result == null) result = caseLiteral(variable); 308 if (result == null) result = caseLiteral(stringLiteral);
309 if (result == null) result = caseExpression(stringLiteral);
310 if (result == null) result = caseStatement(stringLiteral);
399 if (result == null) result = defaultCase(theEObject); 311 if (result == null) result = defaultCase(theEObject);
400 return result; 312 return result;
401 } 313 }
402 case SolverLanguagePackage.ALL_INSTANCES: 314 case SolverLanguagePackage.MEMBER_DEFINITION:
403 { 315 {
404 AllInstances allInstances = (AllInstances)theEObject; 316 MemberDefinition memberDefinition = (MemberDefinition)theEObject;
405 T result = caseAllInstances(allInstances); 317 T result = caseMemberDefinition(memberDefinition);
406 if (result == null) result = caseComplexObject(allInstances);
407 if (result == null) result = defaultCase(theEObject); 318 if (result == null) result = defaultCase(theEObject);
408 return result; 319 return result;
409 } 320 }
410 case SolverLanguagePackage.ALL_OBJECTS: 321 case SolverLanguagePackage.MULTIPLICITY:
411 { 322 {
412 AllObjects allObjects = (AllObjects)theEObject; 323 Multiplicity multiplicity = (Multiplicity)theEObject;
413 T result = caseAllObjects(allObjects); 324 T result = caseMultiplicity(multiplicity);
414 if (result == null) result = caseComplexObject(allObjects);
415 if (result == null) result = defaultCase(theEObject); 325 if (result == null) result = defaultCase(theEObject);
416 return result; 326 return result;
417 } 327 }
418 case SolverLanguagePackage.DEFAULT_INTERPRETATION: 328 case SolverLanguagePackage.MANY_MULTIPLICITY:
419 { 329 {
420 DefaultInterpretation defaultInterpretation = (DefaultInterpretation)theEObject; 330 ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject;
421 T result = caseDefaultInterpretation(defaultInterpretation); 331 T result = caseManyMultiplicity(manyMultiplicity);
422 if (result == null) result = caseInterpretation(defaultInterpretation); 332 if (result == null) result = caseMultiplicity(manyMultiplicity);
423 if (result == null) result = caseStatement(defaultInterpretation);
424 if (result == null) result = defaultCase(theEObject); 333 if (result == null) result = defaultCase(theEObject);
425 return result; 334 return result;
426 } 335 }
427 case SolverLanguagePackage.CD_INTERPRETATION: 336 case SolverLanguagePackage.EXACT_MULTIPLICITY:
428 { 337 {
429 CDInterpretation cdInterpretation = (CDInterpretation)theEObject; 338 ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject;
430 T result = caseCDInterpretation(cdInterpretation); 339 T result = caseExactMultiplicity(exactMultiplicity);
431 if (result == null) result = caseInterpretation(cdInterpretation); 340 if (result == null) result = caseMultiplicity(exactMultiplicity);
432 if (result == null) result = caseStatement(cdInterpretation);
433 if (result == null) result = defaultCase(theEObject); 341 if (result == null) result = defaultCase(theEObject);
434 return result; 342 return result;
435 } 343 }
436 case SolverLanguagePackage.CLASS_INTERPRETATION: 344 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
437 { 345 {
438 ClassInterpretation classInterpretation = (ClassInterpretation)theEObject; 346 BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject;
439 T result = caseClassInterpretation(classInterpretation); 347 T result = caseBoundedMultiplicity(boundedMultiplicity);
440 if (result == null) result = caseCDInterpretation(classInterpretation); 348 if (result == null) result = caseMultiplicity(boundedMultiplicity);
441 if (result == null) result = caseInterpretation(classInterpretation);
442 if (result == null) result = caseStatement(classInterpretation);
443 if (result == null) result = defaultCase(theEObject); 349 if (result == null) result = defaultCase(theEObject);
444 return result; 350 return result;
445 } 351 }
446 case SolverLanguagePackage.ENUM_INTERPRETATION: 352 case SolverLanguagePackage.SCOPE_DEFINITION:
447 { 353 {
448 EnumInterpretation enumInterpretation = (EnumInterpretation)theEObject; 354 ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject;
449 T result = caseEnumInterpretation(enumInterpretation); 355 T result = caseScopeDefinition(scopeDefinition);
450 if (result == null) result = caseCDInterpretation(enumInterpretation); 356 if (result == null) result = caseStatement(scopeDefinition);
451 if (result == null) result = caseInterpretation(enumInterpretation);
452 if (result == null) result = caseStatement(enumInterpretation);
453 if (result == null) result = defaultCase(theEObject); 357 if (result == null) result = defaultCase(theEObject);
454 return result; 358 return result;
455 } 359 }
456 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: 360 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION:
457 { 361 {
458 FieldRelationInterpretation fieldRelationInterpretation = (FieldRelationInterpretation)theEObject; 362 ExactScopeDefinition exactScopeDefinition = (ExactScopeDefinition)theEObject;
459 T result = caseFieldRelationInterpretation(fieldRelationInterpretation); 363 T result = caseExactScopeDefinition(exactScopeDefinition);
364 if (result == null) result = caseScopeDefinition(exactScopeDefinition);
365 if (result == null) result = caseStatement(exactScopeDefinition);
460 if (result == null) result = defaultCase(theEObject); 366 if (result == null) result = defaultCase(theEObject);
461 return result; 367 return result;
462 } 368 }
463 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: 369 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION:
464 { 370 {
465 GlobalRelationInterpretation globalRelationInterpretation = (GlobalRelationInterpretation)theEObject; 371 BoundedScopeDefinition boundedScopeDefinition = (BoundedScopeDefinition)theEObject;
466 T result = caseGlobalRelationInterpretation(globalRelationInterpretation); 372 T result = caseBoundedScopeDefinition(boundedScopeDefinition);
467 if (result == null) result = caseCDInterpretation(globalRelationInterpretation); 373 if (result == null) result = caseScopeDefinition(boundedScopeDefinition);
468 if (result == null) result = caseInterpretation(globalRelationInterpretation); 374 if (result == null) result = caseStatement(boundedScopeDefinition);
469 if (result == null) result = caseStatement(globalRelationInterpretation);
470 if (result == null) result = defaultCase(theEObject); 375 if (result == null) result = defaultCase(theEObject);
471 return result; 376 return result;
472 } 377 }
473 case SolverLanguagePackage.MULTIPLICITY_DEFINITION: 378 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION:
474 { 379 {
475 MultiplicityDefinition multiplicityDefinition = (MultiplicityDefinition)theEObject; 380 LowerBoundedScopeDefinition lowerBoundedScopeDefinition = (LowerBoundedScopeDefinition)theEObject;
476 T result = caseMultiplicityDefinition(multiplicityDefinition); 381 T result = caseLowerBoundedScopeDefinition(lowerBoundedScopeDefinition);
382 if (result == null) result = caseScopeDefinition(lowerBoundedScopeDefinition);
383 if (result == null) result = caseStatement(lowerBoundedScopeDefinition);
477 if (result == null) result = defaultCase(theEObject); 384 if (result == null) result = defaultCase(theEObject);
478 return result; 385 return result;
479 } 386 }
480 case SolverLanguagePackage.BOOLEAN_TRUE: 387 case SolverLanguagePackage.OBJECTIVE_DEFINITION:
481 { 388 {
482 BooleanTrue booleanTrue = (BooleanTrue)theEObject; 389 ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject;
483 T result = caseBooleanTrue(booleanTrue); 390 T result = caseObjectiveDefinition(objectiveDefinition);
484 if (result == null) result = caseBooleanValue(booleanTrue); 391 if (result == null) result = caseStatement(objectiveDefinition);
485 if (result == null) result = defaultCase(theEObject); 392 if (result == null) result = defaultCase(theEObject);
486 return result; 393 return result;
487 } 394 }
488 case SolverLanguagePackage.BOOLEAN_FALSE: 395 case SolverLanguagePackage.NAMED_ELEMENT:
489 { 396 {
490 BooleanFalse booleanFalse = (BooleanFalse)theEObject; 397 NamedElement namedElement = (NamedElement)theEObject;
491 T result = caseBooleanFalse(booleanFalse); 398 T result = caseNamedElement(namedElement);
492 if (result == null) result = caseBooleanValue(booleanFalse);
493 if (result == null) result = defaultCase(theEObject); 399 if (result == null) result = defaultCase(theEObject);
494 return result; 400 return result;
495 } 401 }
496 case SolverLanguagePackage.TRUE: 402 case SolverLanguagePackage.ASSERTION:
497 { 403 {
498 True true_ = (True)theEObject; 404 Assertion assertion = (Assertion)theEObject;
499 T result = caseTrue(true_); 405 T result = caseAssertion(assertion);
500 if (result == null) result = caseTruthValue(true_); 406 if (result == null) result = caseStatement(assertion);
501 if (result == null) result = defaultCase(theEObject); 407 if (result == null) result = defaultCase(theEObject);
502 return result; 408 return result;
503 } 409 }
504 case SolverLanguagePackage.FALSE: 410 case SolverLanguagePackage.DISJUNCTION:
505 { 411 {
506 False false_ = (False)theEObject; 412 Disjunction disjunction = (Disjunction)theEObject;
507 T result = caseFalse(false_); 413 T result = caseDisjunction(disjunction);
508 if (result == null) result = caseTruthValue(false_); 414 if (result == null) result = caseExpression(disjunction);
415 if (result == null) result = caseStatement(disjunction);
509 if (result == null) result = defaultCase(theEObject); 416 if (result == null) result = defaultCase(theEObject);
510 return result; 417 return result;
511 } 418 }
512 case SolverLanguagePackage.UNKNOWN: 419 case SolverLanguagePackage.SWITCH:
513 { 420 {
514 Unknown unknown = (Unknown)theEObject; 421 org.eclipse.viatra.solver.language.solverLanguage.Switch switch_ = (org.eclipse.viatra.solver.language.solverLanguage.Switch)theEObject;
515 T result = caseUnknown(unknown); 422 T result = caseSwitch(switch_);
516 if (result == null) result = caseTruthValue(unknown); 423 if (result == null) result = caseExpression(switch_);
424 if (result == null) result = caseStatement(switch_);
517 if (result == null) result = defaultCase(theEObject); 425 if (result == null) result = defaultCase(theEObject);
518 return result; 426 return result;
519 } 427 }
520 case SolverLanguagePackage.ERROR: 428 case SolverLanguagePackage.CONJUNCTION:
521 { 429 {
522 org.eclipse.viatra.solver.language.solverLanguage.Error error = (org.eclipse.viatra.solver.language.solverLanguage.Error)theEObject; 430 Conjunction conjunction = (Conjunction)theEObject;
523 T result = caseError(error); 431 T result = caseConjunction(conjunction);
524 if (result == null) result = caseTruthValue(error); 432 if (result == null) result = caseExpression(conjunction);
433 if (result == null) result = caseStatement(conjunction);
525 if (result == null) result = defaultCase(theEObject); 434 if (result == null) result = defaultCase(theEObject);
526 return result; 435 return result;
527 } 436 }
528 case SolverLanguagePackage.POSITIVE: 437 case SolverLanguagePackage.COMPARISON:
529 { 438 {
530 Positive positive = (Positive)theEObject; 439 Comparison comparison = (Comparison)theEObject;
531 T result = casePositive(positive); 440 T result = caseComparison(comparison);
532 if (result == null) result = casePolarity(positive); 441 if (result == null) result = caseExpression(comparison);
442 if (result == null) result = caseStatement(comparison);
533 if (result == null) result = defaultCase(theEObject); 443 if (result == null) result = defaultCase(theEObject);
534 return result; 444 return result;
535 } 445 }
536 case SolverLanguagePackage.NEGATIVE: 446 case SolverLanguagePackage.BINARY_EXPRESSION:
537 { 447 {
538 Negative negative = (Negative)theEObject; 448 BinaryExpression binaryExpression = (BinaryExpression)theEObject;
539 T result = caseNegative(negative); 449 T result = caseBinaryExpression(binaryExpression);
540 if (result == null) result = casePolarity(negative); 450 if (result == null) result = caseExpression(binaryExpression);
451 if (result == null) result = caseStatement(binaryExpression);
541 if (result == null) result = defaultCase(theEObject); 452 if (result == null) result = defaultCase(theEObject);
542 return result; 453 return result;
543 } 454 }
544 case SolverLanguagePackage.REFLEXIVE_CLOSURE: 455 case SolverLanguagePackage.UNARY_EXPRESSION:
545 { 456 {
546 ReflexiveClosure reflexiveClosure = (ReflexiveClosure)theEObject; 457 UnaryExpression unaryExpression = (UnaryExpression)theEObject;
547 T result = caseReflexiveClosure(reflexiveClosure); 458 T result = caseUnaryExpression(unaryExpression);
548 if (result == null) result = caseClosureType(reflexiveClosure); 459 if (result == null) result = caseExpression(unaryExpression);
549 if (result == null) result = defaultCase(theEObject); 460 if (result == null) result = caseStatement(unaryExpression);
550 return result;
551 }
552 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE:
553 {
554 IrreflexiveClosure irreflexiveClosure = (IrreflexiveClosure)theEObject;
555 T result = caseIrreflexiveClosure(irreflexiveClosure);
556 if (result == null) result = caseClosureType(irreflexiveClosure);
557 if (result == null) result = defaultCase(theEObject); 461 if (result == null) result = defaultCase(theEObject);
558 return result; 462 return result;
559 } 463 }
@@ -594,801 +498,705 @@ public class SolverLanguageSwitch<T> extends Switch<T>
594 } 498 }
595 499
596 /** 500 /**
597 * Returns the result of interpreting the object as an instance of '<em>Boolean Value</em>'. 501 * Returns the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
598 * <!-- begin-user-doc -->
599 * This implementation returns null;
600 * returning a non-null result will terminate the switch.
601 * <!-- end-user-doc -->
602 * @param object the target of the switch.
603 * @return the result of interpreting the object as an instance of '<em>Boolean Value</em>'.
604 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
605 * @generated
606 */
607 public T caseBooleanValue(BooleanValue object)
608 {
609 return null;
610 }
611
612 /**
613 * Returns the result of interpreting the object as an instance of '<em>Truth Value</em>'.
614 * <!-- begin-user-doc -->
615 * This implementation returns null;
616 * returning a non-null result will terminate the switch.
617 * <!-- end-user-doc -->
618 * @param object the target of the switch.
619 * @return the result of interpreting the object as an instance of '<em>Truth Value</em>'.
620 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
621 * @generated
622 */
623 public T caseTruthValue(TruthValue object)
624 {
625 return null;
626 }
627
628 /**
629 * Returns the result of interpreting the object as an instance of '<em>Interpretation</em>'.
630 * <!-- begin-user-doc -->
631 * This implementation returns null;
632 * returning a non-null result will terminate the switch.
633 * <!-- end-user-doc -->
634 * @param object the target of the switch.
635 * @return the result of interpreting the object as an instance of '<em>Interpretation</em>'.
636 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
637 * @generated
638 */
639 public T caseInterpretation(Interpretation object)
640 {
641 return null;
642 }
643
644 /**
645 * Returns the result of interpreting the object as an instance of '<em>Basic Interpretation</em>'.
646 * <!-- begin-user-doc --> 502 * <!-- begin-user-doc -->
647 * This implementation returns null; 503 * This implementation returns null;
648 * returning a non-null result will terminate the switch. 504 * returning a non-null result will terminate the switch.
649 * <!-- end-user-doc --> 505 * <!-- end-user-doc -->
650 * @param object the target of the switch. 506 * @param object the target of the switch.
651 * @return the result of interpreting the object as an instance of '<em>Basic Interpretation</em>'. 507 * @return the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
652 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 508 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
653 * @generated 509 * @generated
654 */ 510 */
655 public T caseBasicInterpretation(BasicInterpretation object) 511 public T casePredicateDefinition(PredicateDefinition object)
656 { 512 {
657 return null; 513 return null;
658 } 514 }
659 515
660 /** 516 /**
661 * Returns the result of interpreting the object as an instance of '<em>Symbol</em>'. 517 * Returns the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
662 * <!-- begin-user-doc --> 518 * <!-- begin-user-doc -->
663 * This implementation returns null; 519 * This implementation returns null;
664 * returning a non-null result will terminate the switch. 520 * returning a non-null result will terminate the switch.
665 * <!-- end-user-doc --> 521 * <!-- end-user-doc -->
666 * @param object the target of the switch. 522 * @param object the target of the switch.
667 * @return the result of interpreting the object as an instance of '<em>Symbol</em>'. 523 * @return the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
668 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 524 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
669 * @generated 525 * @generated
670 */ 526 */
671 public T caseSymbol(Symbol object) 527 public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
672 { 528 {
673 return null; 529 return null;
674 } 530 }
675 531
676 /** 532 /**
677 * Returns the result of interpreting the object as an instance of '<em>Model Symbol</em>'. 533 * Returns the result of interpreting the object as an instance of '<em>Default Definition</em>'.
678 * <!-- begin-user-doc --> 534 * <!-- begin-user-doc -->
679 * This implementation returns null; 535 * This implementation returns null;
680 * returning a non-null result will terminate the switch. 536 * returning a non-null result will terminate the switch.
681 * <!-- end-user-doc --> 537 * <!-- end-user-doc -->
682 * @param object the target of the switch. 538 * @param object the target of the switch.
683 * @return the result of interpreting the object as an instance of '<em>Model Symbol</em>'. 539 * @return the result of interpreting the object as an instance of '<em>Default Definition</em>'.
684 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 540 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
685 * @generated 541 * @generated
686 */ 542 */
687 public T caseModelSymbol(ModelSymbol object) 543 public T caseDefaultDefinition(DefaultDefinition object)
688 { 544 {
689 return null; 545 return null;
690 } 546 }
691 547
692 /** 548 /**
693 * Returns the result of interpreting the object as an instance of '<em>Partiality Symbol</em>'. 549 * Returns the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
694 * <!-- begin-user-doc --> 550 * <!-- begin-user-doc -->
695 * This implementation returns null; 551 * This implementation returns null;
696 * returning a non-null result will terminate the switch. 552 * returning a non-null result will terminate the switch.
697 * <!-- end-user-doc --> 553 * <!-- end-user-doc -->
698 * @param object the target of the switch. 554 * @param object the target of the switch.
699 * @return the result of interpreting the object as an instance of '<em>Partiality Symbol</em>'. 555 * @return the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
700 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 556 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
701 * @generated 557 * @generated
702 */ 558 */
703 public T casePartialitySymbol(PartialitySymbol object) 559 public T caseExternPredicateDefinition(ExternPredicateDefinition object)
704 { 560 {
705 return null; 561 return null;
706 } 562 }
707 563
708 /** 564 /**
709 * Returns the result of interpreting the object as an instance of '<em>Exist Symbol</em>'. 565 * Returns the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
710 * <!-- begin-user-doc --> 566 * <!-- begin-user-doc -->
711 * This implementation returns null; 567 * This implementation returns null;
712 * returning a non-null result will terminate the switch. 568 * returning a non-null result will terminate the switch.
713 * <!-- end-user-doc --> 569 * <!-- end-user-doc -->
714 * @param object the target of the switch. 570 * @param object the target of the switch.
715 * @return the result of interpreting the object as an instance of '<em>Exist Symbol</em>'. 571 * @return the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
716 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 572 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
717 * @generated 573 * @generated
718 */ 574 */
719 public T caseExistSymbol(ExistSymbol object) 575 public T caseMetricDefinition(MetricDefinition object)
720 { 576 {
721 return null; 577 return null;
722 } 578 }
723 579
724 /** 580 /**
725 * Returns the result of interpreting the object as an instance of '<em>Equals Symbol</em>'. 581 * Returns the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
726 * <!-- begin-user-doc --> 582 * <!-- begin-user-doc -->
727 * This implementation returns null; 583 * This implementation returns null;
728 * returning a non-null result will terminate the switch. 584 * returning a non-null result will terminate the switch.
729 * <!-- end-user-doc --> 585 * <!-- end-user-doc -->
730 * @param object the target of the switch. 586 * @param object the target of the switch.
731 * @return the result of interpreting the object as an instance of '<em>Equals Symbol</em>'. 587 * @return the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
732 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 588 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
733 * @generated 589 * @generated
734 */ 590 */
735 public T caseEqualsSymbol(EqualsSymbol object) 591 public T caseExternMetricDefinition(ExternMetricDefinition object)
736 { 592 {
737 return null; 593 return null;
738 } 594 }
739 595
740 /** 596 /**
741 * Returns the result of interpreting the object as an instance of '<em>Data Symbol</em>'. 597 * Returns the result of interpreting the object as an instance of '<em>Expression</em>'.
742 * <!-- begin-user-doc --> 598 * <!-- begin-user-doc -->
743 * This implementation returns null; 599 * This implementation returns null;
744 * returning a non-null result will terminate the switch. 600 * returning a non-null result will terminate the switch.
745 * <!-- end-user-doc --> 601 * <!-- end-user-doc -->
746 * @param object the target of the switch. 602 * @param object the target of the switch.
747 * @return the result of interpreting the object as an instance of '<em>Data Symbol</em>'. 603 * @return the result of interpreting the object as an instance of '<em>Expression</em>'.
748 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 604 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
749 * @generated 605 * @generated
750 */ 606 */
751 public T caseDataSymbol(DataSymbol object) 607 public T caseExpression(Expression object)
752 { 608 {
753 return null; 609 return null;
754 } 610 }
755 611
756 /** 612 /**
757 * Returns the result of interpreting the object as an instance of '<em>Boolean Symbol</em>'. 613 * Returns the result of interpreting the object as an instance of '<em>If Else</em>'.
758 * <!-- begin-user-doc --> 614 * <!-- begin-user-doc -->
759 * This implementation returns null; 615 * This implementation returns null;
760 * returning a non-null result will terminate the switch. 616 * returning a non-null result will terminate the switch.
761 * <!-- end-user-doc --> 617 * <!-- end-user-doc -->
762 * @param object the target of the switch. 618 * @param object the target of the switch.
763 * @return the result of interpreting the object as an instance of '<em>Boolean Symbol</em>'. 619 * @return the result of interpreting the object as an instance of '<em>If Else</em>'.
764 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 620 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
765 * @generated 621 * @generated
766 */ 622 */
767 public T caseBooleanSymbol(BooleanSymbol object) 623 public T caseIfElse(IfElse object)
768 { 624 {
769 return null; 625 return null;
770 } 626 }
771 627
772 /** 628 /**
773 * Returns the result of interpreting the object as an instance of '<em>Integer Symbol</em>'. 629 * Returns the result of interpreting the object as an instance of '<em>Case</em>'.
774 * <!-- begin-user-doc --> 630 * <!-- begin-user-doc -->
775 * This implementation returns null; 631 * This implementation returns null;
776 * returning a non-null result will terminate the switch. 632 * returning a non-null result will terminate the switch.
777 * <!-- end-user-doc --> 633 * <!-- end-user-doc -->
778 * @param object the target of the switch. 634 * @param object the target of the switch.
779 * @return the result of interpreting the object as an instance of '<em>Integer Symbol</em>'. 635 * @return the result of interpreting the object as an instance of '<em>Case</em>'.
780 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 636 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
781 * @generated 637 * @generated
782 */ 638 */
783 public T caseIntegerSymbol(IntegerSymbol object) 639 public T caseCase(Case object)
784 { 640 {
785 return null; 641 return null;
786 } 642 }
787 643
788 /** 644 /**
789 * Returns the result of interpreting the object as an instance of '<em>Real Symbol</em>'. 645 * Returns the result of interpreting the object as an instance of '<em>Count</em>'.
790 * <!-- begin-user-doc --> 646 * <!-- begin-user-doc -->
791 * This implementation returns null; 647 * This implementation returns null;
792 * returning a non-null result will terminate the switch. 648 * returning a non-null result will terminate the switch.
793 * <!-- end-user-doc --> 649 * <!-- end-user-doc -->
794 * @param object the target of the switch. 650 * @param object the target of the switch.
795 * @return the result of interpreting the object as an instance of '<em>Real Symbol</em>'. 651 * @return the result of interpreting the object as an instance of '<em>Count</em>'.
796 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 652 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
797 * @generated 653 * @generated
798 */ 654 */
799 public T caseRealSymbol(RealSymbol object) 655 public T caseCount(Count object)
800 { 656 {
801 return null; 657 return null;
802 } 658 }
803 659
804 /** 660 /**
805 * Returns the result of interpreting the object as an instance of '<em>String Symbol</em>'. 661 * Returns the result of interpreting the object as an instance of '<em>Aggregation</em>'.
806 * <!-- begin-user-doc --> 662 * <!-- begin-user-doc -->
807 * This implementation returns null; 663 * This implementation returns null;
808 * returning a non-null result will terminate the switch. 664 * returning a non-null result will terminate the switch.
809 * <!-- end-user-doc --> 665 * <!-- end-user-doc -->
810 * @param object the target of the switch. 666 * @param object the target of the switch.
811 * @return the result of interpreting the object as an instance of '<em>String Symbol</em>'. 667 * @return the result of interpreting the object as an instance of '<em>Aggregation</em>'.
812 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 668 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
813 * @generated 669 * @generated
814 */ 670 */
815 public T caseStringSymbol(StringSymbol object) 671 public T caseAggregation(Aggregation object)
816 { 672 {
817 return null; 673 return null;
818 } 674 }
819 675
820 /** 676 /**
821 * Returns the result of interpreting the object as an instance of '<em>Complex Object</em>'. 677 * Returns the result of interpreting the object as an instance of '<em>Call</em>'.
822 * <!-- begin-user-doc --> 678 * <!-- begin-user-doc -->
823 * This implementation returns null; 679 * This implementation returns null;
824 * returning a non-null result will terminate the switch. 680 * returning a non-null result will terminate the switch.
825 * <!-- end-user-doc --> 681 * <!-- end-user-doc -->
826 * @param object the target of the switch. 682 * @param object the target of the switch.
827 * @return the result of interpreting the object as an instance of '<em>Complex Object</em>'. 683 * @return the result of interpreting the object as an instance of '<em>Call</em>'.
828 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 684 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
829 * @generated 685 * @generated
830 */ 686 */
831 public T caseComplexObject(ComplexObject object) 687 public T caseCall(Call object)
832 { 688 {
833 return null; 689 return null;
834 } 690 }
835 691
836 /** 692 /**
837 * Returns the result of interpreting the object as an instance of '<em>Object</em>'. 693 * Returns the result of interpreting the object as an instance of '<em>Argument List</em>'.
838 * <!-- begin-user-doc --> 694 * <!-- begin-user-doc -->
839 * This implementation returns null; 695 * This implementation returns null;
840 * returning a non-null result will terminate the switch. 696 * returning a non-null result will terminate the switch.
841 * <!-- end-user-doc --> 697 * <!-- end-user-doc -->
842 * @param object the target of the switch. 698 * @param object the target of the switch.
843 * @return the result of interpreting the object as an instance of '<em>Object</em>'. 699 * @return the result of interpreting the object as an instance of '<em>Argument List</em>'.
844 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 700 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
845 * @generated 701 * @generated
846 */ 702 */
847 public T caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object) 703 public T caseArgumentList(ArgumentList object)
848 { 704 {
849 return null; 705 return null;
850 } 706 }
851 707
852 /** 708 /**
853 * Returns the result of interpreting the object as an instance of '<em>Named Object</em>'. 709 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
854 * <!-- begin-user-doc --> 710 * <!-- begin-user-doc -->
855 * This implementation returns null; 711 * This implementation returns null;
856 * returning a non-null result will terminate the switch. 712 * returning a non-null result will terminate the switch.
857 * <!-- end-user-doc --> 713 * <!-- end-user-doc -->
858 * @param object the target of the switch. 714 * @param object the target of the switch.
859 * @return the result of interpreting the object as an instance of '<em>Named Object</em>'. 715 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
860 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 716 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
861 * @generated 717 * @generated
862 */ 718 */
863 public T caseNamedObject(NamedObject object) 719 public T caseArgument(Argument object)
864 { 720 {
865 return null; 721 return null;
866 } 722 }
867 723
868 /** 724 /**
869 * Returns the result of interpreting the object as an instance of '<em>Unnamed Object</em>'. 725 * Returns the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
870 * <!-- begin-user-doc --> 726 * <!-- begin-user-doc -->
871 * This implementation returns null; 727 * This implementation returns null;
872 * returning a non-null result will terminate the switch. 728 * returning a non-null result will terminate the switch.
873 * <!-- end-user-doc --> 729 * <!-- end-user-doc -->
874 * @param object the target of the switch. 730 * @param object the target of the switch.
875 * @return the result of interpreting the object as an instance of '<em>Unnamed Object</em>'. 731 * @return the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
876 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 732 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
877 * @generated 733 * @generated
878 */ 734 */
879 public T caseUnnamedObject(UnnamedObject object) 735 public T caseExpressionArgument(ExpressionArgument object)
880 { 736 {
881 return null; 737 return null;
882 } 738 }
883 739
884 /** 740 /**
885 * Returns the result of interpreting the object as an instance of '<em>Data Object</em>'. 741 * Returns the result of interpreting the object as an instance of '<em>Star Argument</em>'.
886 * <!-- begin-user-doc --> 742 * <!-- begin-user-doc -->
887 * This implementation returns null; 743 * This implementation returns null;
888 * returning a non-null result will terminate the switch. 744 * returning a non-null result will terminate the switch.
889 * <!-- end-user-doc --> 745 * <!-- end-user-doc -->
890 * @param object the target of the switch. 746 * @param object the target of the switch.
891 * @return the result of interpreting the object as an instance of '<em>Data Object</em>'. 747 * @return the result of interpreting the object as an instance of '<em>Star Argument</em>'.
892 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 748 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
893 * @generated 749 * @generated
894 */ 750 */
895 public T caseDataObject(DataObject object) 751 public T caseStarArgument(StarArgument object)
896 { 752 {
897 return null; 753 return null;
898 } 754 }
899 755
900 /** 756 /**
901 * Returns the result of interpreting the object as an instance of '<em>Boolean Object</em>'. 757 * Returns the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
902 * <!-- begin-user-doc --> 758 * <!-- begin-user-doc -->
903 * This implementation returns null; 759 * This implementation returns null;
904 * returning a non-null result will terminate the switch. 760 * returning a non-null result will terminate the switch.
905 * <!-- end-user-doc --> 761 * <!-- end-user-doc -->
906 * @param object the target of the switch. 762 * @param object the target of the switch.
907 * @return the result of interpreting the object as an instance of '<em>Boolean Object</em>'. 763 * @return the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
908 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 764 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
909 * @generated 765 * @generated
910 */ 766 */
911 public T caseBooleanObject(BooleanObject object) 767 public T caseTypedArgument(TypedArgument object)
912 { 768 {
913 return null; 769 return null;
914 } 770 }
915 771
916 /** 772 /**
917 * Returns the result of interpreting the object as an instance of '<em>Int Object</em>'. 773 * Returns the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
918 * <!-- begin-user-doc --> 774 * <!-- begin-user-doc -->
919 * This implementation returns null; 775 * This implementation returns null;
920 * returning a non-null result will terminate the switch. 776 * returning a non-null result will terminate the switch.
921 * <!-- end-user-doc --> 777 * <!-- end-user-doc -->
922 * @param object the target of the switch. 778 * @param object the target of the switch.
923 * @return the result of interpreting the object as an instance of '<em>Int Object</em>'. 779 * @return the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
924 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 780 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
925 * @generated 781 * @generated
926 */ 782 */
927 public T caseIntObject(IntObject object) 783 public T caseTypedStarArgument(TypedStarArgument object)
928 { 784 {
929 return null; 785 return null;
930 } 786 }
931 787
932 /** 788 /**
933 * Returns the result of interpreting the object as an instance of '<em>Real Object</em>'. 789 * Returns the result of interpreting the object as an instance of '<em>Reference</em>'.
934 * <!-- begin-user-doc --> 790 * <!-- begin-user-doc -->
935 * This implementation returns null; 791 * This implementation returns null;
936 * returning a non-null result will terminate the switch. 792 * returning a non-null result will terminate the switch.
937 * <!-- end-user-doc --> 793 * <!-- end-user-doc -->
938 * @param object the target of the switch. 794 * @param object the target of the switch.
939 * @return the result of interpreting the object as an instance of '<em>Real Object</em>'. 795 * @return the result of interpreting the object as an instance of '<em>Reference</em>'.
940 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 796 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
941 * @generated 797 * @generated
942 */ 798 */
943 public T caseRealObject(RealObject object) 799 public T caseReference(Reference object)
944 { 800 {
945 return null; 801 return null;
946 } 802 }
947 803
948 /** 804 /**
949 * Returns the result of interpreting the object as an instance of '<em>String Object</em>'. 805 * Returns the result of interpreting the object as an instance of '<em>Interval</em>'.
950 * <!-- begin-user-doc --> 806 * <!-- begin-user-doc -->
951 * This implementation returns null; 807 * This implementation returns null;
952 * returning a non-null result will terminate the switch. 808 * returning a non-null result will terminate the switch.
953 * <!-- end-user-doc --> 809 * <!-- end-user-doc -->
954 * @param object the target of the switch. 810 * @param object the target of the switch.
955 * @return the result of interpreting the object as an instance of '<em>String Object</em>'. 811 * @return the result of interpreting the object as an instance of '<em>Interval</em>'.
956 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 812 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
957 * @generated 813 * @generated
958 */ 814 */
959 public T caseStringObject(StringObject object) 815 public T caseInterval(Interval object)
960 { 816 {
961 return null; 817 return null;
962 } 818 }
963 819
964 /** 820 /**
965 * Returns the result of interpreting the object as an instance of '<em>Predicate</em>'. 821 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
966 * <!-- begin-user-doc -->
967 * This implementation returns null;
968 * returning a non-null result will terminate the switch.
969 * <!-- end-user-doc -->
970 * @param object the target of the switch.
971 * @return the result of interpreting the object as an instance of '<em>Predicate</em>'.
972 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
973 * @generated
974 */
975 public T casePredicate(Predicate object)
976 {
977 return null;
978 }
979
980 /**
981 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'.
982 * <!-- begin-user-doc -->
983 * This implementation returns null;
984 * returning a non-null result will terminate the switch.
985 * <!-- end-user-doc -->
986 * @param object the target of the switch.
987 * @return the result of interpreting the object as an instance of '<em>Parameter</em>'.
988 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
989 * @generated
990 */
991 public T caseParameter(Parameter object)
992 {
993 return null;
994 }
995
996 /**
997 * Returns the result of interpreting the object as an instance of '<em>Pattern Body</em>'.
998 * <!-- begin-user-doc -->
999 * This implementation returns null;
1000 * returning a non-null result will terminate the switch.
1001 * <!-- end-user-doc -->
1002 * @param object the target of the switch.
1003 * @return the result of interpreting the object as an instance of '<em>Pattern Body</em>'.
1004 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1005 * @generated
1006 */
1007 public T casePatternBody(PatternBody object)
1008 {
1009 return null;
1010 }
1011
1012 /**
1013 * Returns the result of interpreting the object as an instance of '<em>Polarity</em>'.
1014 * <!-- begin-user-doc --> 822 * <!-- begin-user-doc -->
1015 * This implementation returns null; 823 * This implementation returns null;
1016 * returning a non-null result will terminate the switch. 824 * returning a non-null result will terminate the switch.
1017 * <!-- end-user-doc --> 825 * <!-- end-user-doc -->
1018 * @param object the target of the switch. 826 * @param object the target of the switch.
1019 * @return the result of interpreting the object as an instance of '<em>Polarity</em>'. 827 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
1020 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 828 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1021 * @generated 829 * @generated
1022 */ 830 */
1023 public T casePolarity(Polarity object) 831 public T caseLiteral(Literal object)
1024 { 832 {
1025 return null; 833 return null;
1026 } 834 }
1027 835
1028 /** 836 /**
1029 * Returns the result of interpreting the object as an instance of '<em>Constraint</em>'. 837 * Returns the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
1030 * <!-- begin-user-doc --> 838 * <!-- begin-user-doc -->
1031 * This implementation returns null; 839 * This implementation returns null;
1032 * returning a non-null result will terminate the switch. 840 * returning a non-null result will terminate the switch.
1033 * <!-- end-user-doc --> 841 * <!-- end-user-doc -->
1034 * @param object the target of the switch. 842 * @param object the target of the switch.
1035 * @return the result of interpreting the object as an instance of '<em>Constraint</em>'. 843 * @return the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
1036 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 844 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1037 * @generated 845 * @generated
1038 */ 846 */
1039 public T caseConstraint(Constraint object) 847 public T caseLogicLiteral(LogicLiteral object)
1040 { 848 {
1041 return null; 849 return null;
1042 } 850 }
1043 851
1044 /** 852 /**
1045 * Returns the result of interpreting the object as an instance of '<em>Closure Type</em>'. 853 * Returns the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
1046 * <!-- begin-user-doc --> 854 * <!-- begin-user-doc -->
1047 * This implementation returns null; 855 * This implementation returns null;
1048 * returning a non-null result will terminate the switch. 856 * returning a non-null result will terminate the switch.
1049 * <!-- end-user-doc --> 857 * <!-- end-user-doc -->
1050 * @param object the target of the switch. 858 * @param object the target of the switch.
1051 * @return the result of interpreting the object as an instance of '<em>Closure Type</em>'. 859 * @return the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
1052 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 860 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1053 * @generated 861 * @generated
1054 */ 862 */
1055 public T caseClosureType(ClosureType object) 863 public T caseNumericLiteral(NumericLiteral object)
1056 { 864 {
1057 return null; 865 return null;
1058 } 866 }
1059 867
1060 /** 868 /**
1061 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'. 869 * Returns the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
1062 * <!-- begin-user-doc --> 870 * <!-- begin-user-doc -->
1063 * This implementation returns null; 871 * This implementation returns null;
1064 * returning a non-null result will terminate the switch. 872 * returning a non-null result will terminate the switch.
1065 * <!-- end-user-doc --> 873 * <!-- end-user-doc -->
1066 * @param object the target of the switch. 874 * @param object the target of the switch.
1067 * @return the result of interpreting the object as an instance of '<em>Literal</em>'. 875 * @return the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
1068 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 876 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1069 * @generated 877 * @generated
1070 */ 878 */
1071 public T caseLiteral(Literal object) 879 public T caseInfinityLiteral(InfinityLiteral object)
1072 { 880 {
1073 return null; 881 return null;
1074 } 882 }
1075 883
1076 /** 884 /**
1077 * Returns the result of interpreting the object as an instance of '<em>Variable</em>'. 885 * Returns the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
1078 * <!-- begin-user-doc --> 886 * <!-- begin-user-doc -->
1079 * This implementation returns null; 887 * This implementation returns null;
1080 * returning a non-null result will terminate the switch. 888 * returning a non-null result will terminate the switch.
1081 * <!-- end-user-doc --> 889 * <!-- end-user-doc -->
1082 * @param object the target of the switch. 890 * @param object the target of the switch.
1083 * @return the result of interpreting the object as an instance of '<em>Variable</em>'. 891 * @return the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
1084 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 892 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1085 * @generated 893 * @generated
1086 */ 894 */
1087 public T caseVariable(Variable object) 895 public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
1088 { 896 {
1089 return null; 897 return null;
1090 } 898 }
1091 899
1092 /** 900 /**
1093 * Returns the result of interpreting the object as an instance of '<em>All Instances</em>'. 901 * Returns the result of interpreting the object as an instance of '<em>String Literal</em>'.
1094 * <!-- begin-user-doc --> 902 * <!-- begin-user-doc -->
1095 * This implementation returns null; 903 * This implementation returns null;
1096 * returning a non-null result will terminate the switch. 904 * returning a non-null result will terminate the switch.
1097 * <!-- end-user-doc --> 905 * <!-- end-user-doc -->
1098 * @param object the target of the switch. 906 * @param object the target of the switch.
1099 * @return the result of interpreting the object as an instance of '<em>All Instances</em>'. 907 * @return the result of interpreting the object as an instance of '<em>String Literal</em>'.
1100 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 908 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1101 * @generated 909 * @generated
1102 */ 910 */
1103 public T caseAllInstances(AllInstances object) 911 public T caseStringLiteral(StringLiteral object)
1104 { 912 {
1105 return null; 913 return null;
1106 } 914 }
1107 915
1108 /** 916 /**
1109 * Returns the result of interpreting the object as an instance of '<em>All Objects</em>'. 917 * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'.
1110 * <!-- begin-user-doc --> 918 * <!-- begin-user-doc -->
1111 * This implementation returns null; 919 * This implementation returns null;
1112 * returning a non-null result will terminate the switch. 920 * returning a non-null result will terminate the switch.
1113 * <!-- end-user-doc --> 921 * <!-- end-user-doc -->
1114 * @param object the target of the switch. 922 * @param object the target of the switch.
1115 * @return the result of interpreting the object as an instance of '<em>All Objects</em>'. 923 * @return the result of interpreting the object as an instance of '<em>Member Definition</em>'.
1116 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 924 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1117 * @generated 925 * @generated
1118 */ 926 */
1119 public T caseAllObjects(AllObjects object) 927 public T caseMemberDefinition(MemberDefinition object)
1120 { 928 {
1121 return null; 929 return null;
1122 } 930 }
1123 931
1124 /** 932 /**
1125 * Returns the result of interpreting the object as an instance of '<em>Default Interpretation</em>'. 933 * Returns the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
1126 * <!-- begin-user-doc --> 934 * <!-- begin-user-doc -->
1127 * This implementation returns null; 935 * This implementation returns null;
1128 * returning a non-null result will terminate the switch. 936 * returning a non-null result will terminate the switch.
1129 * <!-- end-user-doc --> 937 * <!-- end-user-doc -->
1130 * @param object the target of the switch. 938 * @param object the target of the switch.
1131 * @return the result of interpreting the object as an instance of '<em>Default Interpretation</em>'. 939 * @return the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
1132 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 940 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1133 * @generated 941 * @generated
1134 */ 942 */
1135 public T caseDefaultInterpretation(DefaultInterpretation object) 943 public T caseMultiplicity(Multiplicity object)
1136 { 944 {
1137 return null; 945 return null;
1138 } 946 }
1139 947
1140 /** 948 /**
1141 * Returns the result of interpreting the object as an instance of '<em>CD Interpretation</em>'. 949 * Returns the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
1142 * <!-- begin-user-doc --> 950 * <!-- begin-user-doc -->
1143 * This implementation returns null; 951 * This implementation returns null;
1144 * returning a non-null result will terminate the switch. 952 * returning a non-null result will terminate the switch.
1145 * <!-- end-user-doc --> 953 * <!-- end-user-doc -->
1146 * @param object the target of the switch. 954 * @param object the target of the switch.
1147 * @return the result of interpreting the object as an instance of '<em>CD Interpretation</em>'. 955 * @return the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
1148 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 956 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1149 * @generated 957 * @generated
1150 */ 958 */
1151 public T caseCDInterpretation(CDInterpretation object) 959 public T caseManyMultiplicity(ManyMultiplicity object)
1152 { 960 {
1153 return null; 961 return null;
1154 } 962 }
1155 963
1156 /** 964 /**
1157 * Returns the result of interpreting the object as an instance of '<em>Class Interpretation</em>'. 965 * Returns the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
1158 * <!-- begin-user-doc --> 966 * <!-- begin-user-doc -->
1159 * This implementation returns null; 967 * This implementation returns null;
1160 * returning a non-null result will terminate the switch. 968 * returning a non-null result will terminate the switch.
1161 * <!-- end-user-doc --> 969 * <!-- end-user-doc -->
1162 * @param object the target of the switch. 970 * @param object the target of the switch.
1163 * @return the result of interpreting the object as an instance of '<em>Class Interpretation</em>'. 971 * @return the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
1164 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 972 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1165 * @generated 973 * @generated
1166 */ 974 */
1167 public T caseClassInterpretation(ClassInterpretation object) 975 public T caseExactMultiplicity(ExactMultiplicity object)
1168 { 976 {
1169 return null; 977 return null;
1170 } 978 }
1171 979
1172 /** 980 /**
1173 * Returns the result of interpreting the object as an instance of '<em>Enum Interpretation</em>'. 981 * Returns the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1174 * <!-- begin-user-doc --> 982 * <!-- begin-user-doc -->
1175 * This implementation returns null; 983 * This implementation returns null;
1176 * returning a non-null result will terminate the switch. 984 * returning a non-null result will terminate the switch.
1177 * <!-- end-user-doc --> 985 * <!-- end-user-doc -->
1178 * @param object the target of the switch. 986 * @param object the target of the switch.
1179 * @return the result of interpreting the object as an instance of '<em>Enum Interpretation</em>'. 987 * @return the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1180 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 988 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1181 * @generated 989 * @generated
1182 */ 990 */
1183 public T caseEnumInterpretation(EnumInterpretation object) 991 public T caseBoundedMultiplicity(BoundedMultiplicity object)
1184 { 992 {
1185 return null; 993 return null;
1186 } 994 }
1187 995
1188 /** 996 /**
1189 * Returns the result of interpreting the object as an instance of '<em>Field Relation Interpretation</em>'. 997 * Returns the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1190 * <!-- begin-user-doc --> 998 * <!-- begin-user-doc -->
1191 * This implementation returns null; 999 * This implementation returns null;
1192 * returning a non-null result will terminate the switch. 1000 * returning a non-null result will terminate the switch.
1193 * <!-- end-user-doc --> 1001 * <!-- end-user-doc -->
1194 * @param object the target of the switch. 1002 * @param object the target of the switch.
1195 * @return the result of interpreting the object as an instance of '<em>Field Relation Interpretation</em>'. 1003 * @return the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1196 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1004 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1197 * @generated 1005 * @generated
1198 */ 1006 */
1199 public T caseFieldRelationInterpretation(FieldRelationInterpretation object) 1007 public T caseScopeDefinition(ScopeDefinition object)
1200 { 1008 {
1201 return null; 1009 return null;
1202 } 1010 }
1203 1011
1204 /** 1012 /**
1205 * Returns the result of interpreting the object as an instance of '<em>Global Relation Interpretation</em>'. 1013 * Returns the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1206 * <!-- begin-user-doc --> 1014 * <!-- begin-user-doc -->
1207 * This implementation returns null; 1015 * This implementation returns null;
1208 * returning a non-null result will terminate the switch. 1016 * returning a non-null result will terminate the switch.
1209 * <!-- end-user-doc --> 1017 * <!-- end-user-doc -->
1210 * @param object the target of the switch. 1018 * @param object the target of the switch.
1211 * @return the result of interpreting the object as an instance of '<em>Global Relation Interpretation</em>'. 1019 * @return the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1212 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1020 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1213 * @generated 1021 * @generated
1214 */ 1022 */
1215 public T caseGlobalRelationInterpretation(GlobalRelationInterpretation object) 1023 public T caseExactScopeDefinition(ExactScopeDefinition object)
1216 { 1024 {
1217 return null; 1025 return null;
1218 } 1026 }
1219 1027
1220 /** 1028 /**
1221 * Returns the result of interpreting the object as an instance of '<em>Multiplicity Definition</em>'. 1029 * Returns the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1222 * <!-- begin-user-doc --> 1030 * <!-- begin-user-doc -->
1223 * This implementation returns null; 1031 * This implementation returns null;
1224 * returning a non-null result will terminate the switch. 1032 * returning a non-null result will terminate the switch.
1225 * <!-- end-user-doc --> 1033 * <!-- end-user-doc -->
1226 * @param object the target of the switch. 1034 * @param object the target of the switch.
1227 * @return the result of interpreting the object as an instance of '<em>Multiplicity Definition</em>'. 1035 * @return the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1228 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1036 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1229 * @generated 1037 * @generated
1230 */ 1038 */
1231 public T caseMultiplicityDefinition(MultiplicityDefinition object) 1039 public T caseBoundedScopeDefinition(BoundedScopeDefinition object)
1232 { 1040 {
1233 return null; 1041 return null;
1234 } 1042 }
1235 1043
1236 /** 1044 /**
1237 * Returns the result of interpreting the object as an instance of '<em>Boolean True</em>'. 1045 * Returns the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1238 * <!-- begin-user-doc --> 1046 * <!-- begin-user-doc -->
1239 * This implementation returns null; 1047 * This implementation returns null;
1240 * returning a non-null result will terminate the switch. 1048 * returning a non-null result will terminate the switch.
1241 * <!-- end-user-doc --> 1049 * <!-- end-user-doc -->
1242 * @param object the target of the switch. 1050 * @param object the target of the switch.
1243 * @return the result of interpreting the object as an instance of '<em>Boolean True</em>'. 1051 * @return the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1244 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1052 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1245 * @generated 1053 * @generated
1246 */ 1054 */
1247 public T caseBooleanTrue(BooleanTrue object) 1055 public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
1248 { 1056 {
1249 return null; 1057 return null;
1250 } 1058 }
1251 1059
1252 /** 1060 /**
1253 * Returns the result of interpreting the object as an instance of '<em>Boolean False</em>'. 1061 * Returns the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1254 * <!-- begin-user-doc --> 1062 * <!-- begin-user-doc -->
1255 * This implementation returns null; 1063 * This implementation returns null;
1256 * returning a non-null result will terminate the switch. 1064 * returning a non-null result will terminate the switch.
1257 * <!-- end-user-doc --> 1065 * <!-- end-user-doc -->
1258 * @param object the target of the switch. 1066 * @param object the target of the switch.
1259 * @return the result of interpreting the object as an instance of '<em>Boolean False</em>'. 1067 * @return the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1260 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1068 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1261 * @generated 1069 * @generated
1262 */ 1070 */
1263 public T caseBooleanFalse(BooleanFalse object) 1071 public T caseObjectiveDefinition(ObjectiveDefinition object)
1264 { 1072 {
1265 return null; 1073 return null;
1266 } 1074 }
1267 1075
1268 /** 1076 /**
1269 * Returns the result of interpreting the object as an instance of '<em>True</em>'. 1077 * Returns the result of interpreting the object as an instance of '<em>Named Element</em>'.
1270 * <!-- begin-user-doc --> 1078 * <!-- begin-user-doc -->
1271 * This implementation returns null; 1079 * This implementation returns null;
1272 * returning a non-null result will terminate the switch. 1080 * returning a non-null result will terminate the switch.
1273 * <!-- end-user-doc --> 1081 * <!-- end-user-doc -->
1274 * @param object the target of the switch. 1082 * @param object the target of the switch.
1275 * @return the result of interpreting the object as an instance of '<em>True</em>'. 1083 * @return the result of interpreting the object as an instance of '<em>Named Element</em>'.
1276 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1084 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1277 * @generated 1085 * @generated
1278 */ 1086 */
1279 public T caseTrue(True object) 1087 public T caseNamedElement(NamedElement object)
1280 { 1088 {
1281 return null; 1089 return null;
1282 } 1090 }
1283 1091
1284 /** 1092 /**
1285 * Returns the result of interpreting the object as an instance of '<em>False</em>'. 1093 * Returns the result of interpreting the object as an instance of '<em>Assertion</em>'.
1286 * <!-- begin-user-doc --> 1094 * <!-- begin-user-doc -->
1287 * This implementation returns null; 1095 * This implementation returns null;
1288 * returning a non-null result will terminate the switch. 1096 * returning a non-null result will terminate the switch.
1289 * <!-- end-user-doc --> 1097 * <!-- end-user-doc -->
1290 * @param object the target of the switch. 1098 * @param object the target of the switch.
1291 * @return the result of interpreting the object as an instance of '<em>False</em>'. 1099 * @return the result of interpreting the object as an instance of '<em>Assertion</em>'.
1292 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1100 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1293 * @generated 1101 * @generated
1294 */ 1102 */
1295 public T caseFalse(False object) 1103 public T caseAssertion(Assertion object)
1296 { 1104 {
1297 return null; 1105 return null;
1298 } 1106 }
1299 1107
1300 /** 1108 /**
1301 * Returns the result of interpreting the object as an instance of '<em>Unknown</em>'. 1109 * Returns the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1302 * <!-- begin-user-doc --> 1110 * <!-- begin-user-doc -->
1303 * This implementation returns null; 1111 * This implementation returns null;
1304 * returning a non-null result will terminate the switch. 1112 * returning a non-null result will terminate the switch.
1305 * <!-- end-user-doc --> 1113 * <!-- end-user-doc -->
1306 * @param object the target of the switch. 1114 * @param object the target of the switch.
1307 * @return the result of interpreting the object as an instance of '<em>Unknown</em>'. 1115 * @return the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1308 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1116 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1309 * @generated 1117 * @generated
1310 */ 1118 */
1311 public T caseUnknown(Unknown object) 1119 public T caseDisjunction(Disjunction object)
1312 { 1120 {
1313 return null; 1121 return null;
1314 } 1122 }
1315 1123
1316 /** 1124 /**
1317 * Returns the result of interpreting the object as an instance of '<em>Error</em>'. 1125 * Returns the result of interpreting the object as an instance of '<em>Switch</em>'.
1318 * <!-- begin-user-doc --> 1126 * <!-- begin-user-doc -->
1319 * This implementation returns null; 1127 * This implementation returns null;
1320 * returning a non-null result will terminate the switch. 1128 * returning a non-null result will terminate the switch.
1321 * <!-- end-user-doc --> 1129 * <!-- end-user-doc -->
1322 * @param object the target of the switch. 1130 * @param object the target of the switch.
1323 * @return the result of interpreting the object as an instance of '<em>Error</em>'. 1131 * @return the result of interpreting the object as an instance of '<em>Switch</em>'.
1324 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1132 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1325 * @generated 1133 * @generated
1326 */ 1134 */
1327 public T caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object) 1135 public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object)
1328 { 1136 {
1329 return null; 1137 return null;
1330 } 1138 }
1331 1139
1332 /** 1140 /**
1333 * Returns the result of interpreting the object as an instance of '<em>Positive</em>'. 1141 * Returns the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1334 * <!-- begin-user-doc --> 1142 * <!-- begin-user-doc -->
1335 * This implementation returns null; 1143 * This implementation returns null;
1336 * returning a non-null result will terminate the switch. 1144 * returning a non-null result will terminate the switch.
1337 * <!-- end-user-doc --> 1145 * <!-- end-user-doc -->
1338 * @param object the target of the switch. 1146 * @param object the target of the switch.
1339 * @return the result of interpreting the object as an instance of '<em>Positive</em>'. 1147 * @return the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1340 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1148 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1341 * @generated 1149 * @generated
1342 */ 1150 */
1343 public T casePositive(Positive object) 1151 public T caseConjunction(Conjunction object)
1344 { 1152 {
1345 return null; 1153 return null;
1346 } 1154 }
1347 1155
1348 /** 1156 /**
1349 * Returns the result of interpreting the object as an instance of '<em>Negative</em>'. 1157 * Returns the result of interpreting the object as an instance of '<em>Comparison</em>'.
1350 * <!-- begin-user-doc --> 1158 * <!-- begin-user-doc -->
1351 * This implementation returns null; 1159 * This implementation returns null;
1352 * returning a non-null result will terminate the switch. 1160 * returning a non-null result will terminate the switch.
1353 * <!-- end-user-doc --> 1161 * <!-- end-user-doc -->
1354 * @param object the target of the switch. 1162 * @param object the target of the switch.
1355 * @return the result of interpreting the object as an instance of '<em>Negative</em>'. 1163 * @return the result of interpreting the object as an instance of '<em>Comparison</em>'.
1356 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1164 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1357 * @generated 1165 * @generated
1358 */ 1166 */
1359 public T caseNegative(Negative object) 1167 public T caseComparison(Comparison object)
1360 { 1168 {
1361 return null; 1169 return null;
1362 } 1170 }
1363 1171
1364 /** 1172 /**
1365 * Returns the result of interpreting the object as an instance of '<em>Reflexive Closure</em>'. 1173 * Returns the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1366 * <!-- begin-user-doc --> 1174 * <!-- begin-user-doc -->
1367 * This implementation returns null; 1175 * This implementation returns null;
1368 * returning a non-null result will terminate the switch. 1176 * returning a non-null result will terminate the switch.
1369 * <!-- end-user-doc --> 1177 * <!-- end-user-doc -->
1370 * @param object the target of the switch. 1178 * @param object the target of the switch.
1371 * @return the result of interpreting the object as an instance of '<em>Reflexive Closure</em>'. 1179 * @return the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1372 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1180 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1373 * @generated 1181 * @generated
1374 */ 1182 */
1375 public T caseReflexiveClosure(ReflexiveClosure object) 1183 public T caseBinaryExpression(BinaryExpression object)
1376 { 1184 {
1377 return null; 1185 return null;
1378 } 1186 }
1379 1187
1380 /** 1188 /**
1381 * Returns the result of interpreting the object as an instance of '<em>Irreflexive Closure</em>'. 1189 * Returns the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1382 * <!-- begin-user-doc --> 1190 * <!-- begin-user-doc -->
1383 * This implementation returns null; 1191 * This implementation returns null;
1384 * returning a non-null result will terminate the switch. 1192 * returning a non-null result will terminate the switch.
1385 * <!-- end-user-doc --> 1193 * <!-- end-user-doc -->
1386 * @param object the target of the switch. 1194 * @param object the target of the switch.
1387 * @return the result of interpreting the object as an instance of '<em>Irreflexive Closure</em>'. 1195 * @return the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1388 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1196 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1389 * @generated 1197 * @generated
1390 */ 1198 */
1391 public T caseIrreflexiveClosure(IrreflexiveClosure object) 1199 public T caseUnaryExpression(UnaryExpression object)
1392 { 1200 {
1393 return null; 1201 return null;
1394 } 1202 }