From b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 19 May 2020 21:18:06 +0200 Subject: Config language WIP --- .../language/solverLanguage/Aggregation.java | 115 + .../solver/language/solverLanguage/Argument.java | 19 + .../language/solverLanguage/ArgumentList.java | 39 + .../language/solverLanguage/BinaryExpression.java | 95 + .../language/solverLanguage/BinaryOperator.java | 463 ++ .../solverLanguage/BoundedMultiplicity.java | 69 + .../solverLanguage/BoundedScopeDefinition.java | 69 + .../solver/language/solverLanguage/Call.java | 115 + .../solver/language/solverLanguage/Case.java | 69 + .../language/solverLanguage/CastExpression.java | 69 + .../language/solverLanguage/ClassDefinition.java | 96 + .../solver/language/solverLanguage/Comparison.java | 95 + .../language/solverLanguage/Conjunction.java | 37 + .../language/solverLanguage/DefaultDefinition.java | 69 + .../language/solverLanguage/Disjunction.java | 37 + .../solverLanguage/EmptyIntervalLiteral.java | 18 + .../language/solverLanguage/ExactMultiplicity.java | 46 + .../solverLanguage/ExactScopeDefinition.java | 46 + .../solver/language/solverLanguage/Expression.java | 18 + .../solverLanguage/ExpressionArgument.java | 46 + .../solverLanguage/ExternAggregatorDefinition.java | 92 + .../solverLanguage/ExternDatatypeDefinition.java | 60 + .../solverLanguage/ExternMetricDefinition.java | 92 + .../solverLanguage/ExternPredicateDefinition.java | 69 + .../solver/language/solverLanguage/Functor.java | 37 + .../solver/language/solverLanguage/IfElse.java | 92 + .../language/solverLanguage/InfinityLiteral.java | 18 + .../language/solverLanguage/Interpretation.java | 69 + .../solver/language/solverLanguage/Interval.java | 69 + .../viatra/solver/language/solverLanguage/Let.java | 60 + .../solver/language/solverLanguage/LetBinding.java | 70 + .../solver/language/solverLanguage/Literal.java | 18 + .../language/solverLanguage/LocalVariables.java | 39 + .../language/solverLanguage/LogicLiteral.java | 49 + .../solver/language/solverLanguage/LogicValue.java | 256 + .../LowerBoundedScopeDefinition.java | 46 + .../language/solverLanguage/ManyMultiplicity.java | 18 + .../language/solverLanguage/MemberDefinition.java | 139 + .../solver/language/solverLanguage/Metric.java | 46 + .../language/solverLanguage/MetricDefinition.java | 92 + .../language/solverLanguage/Multiplicity.java | 19 + .../language/solverLanguage/NamedElement.java | 47 + .../solver/language/solverLanguage/Node.java | 46 + .../language/solverLanguage/NumericLiteral.java | 47 + .../solverLanguage/ObjectiveDefinition.java | 72 + .../language/solverLanguage/ObjectiveKind.java | 210 + .../solver/language/solverLanguage/Predicate.java | 18 + .../solverLanguage/PredicateDefinition.java | 115 + .../solver/language/solverLanguage/Problem.java | 39 + .../solverLanguage/QuantifiedExpression.java | 95 + .../solver/language/solverLanguage/Quantifier.java | 233 + .../solver/language/solverLanguage/Reference.java | 46 + .../language/solverLanguage/ScopeDefinition.java | 46 + .../solverLanguage/SolverLanguageFactory.java | 538 ++ .../solverLanguage/SolverLanguagePackage.java | 5191 ++++++++++++++++++++ .../language/solverLanguage/StarArgument.java | 18 + .../solver/language/solverLanguage/Statement.java | 19 + .../language/solverLanguage/StringLiteral.java | 46 + .../solver/language/solverLanguage/Switch.java | 37 + .../language/solverLanguage/TypedArgument.java | 69 + .../language/solverLanguage/TypedStarArgument.java | 46 + .../language/solverLanguage/UnaryExpression.java | 72 + .../solver/language/solverLanguage/UnaryOp.java | 302 ++ .../UnnamedErrorPrediateDefinition.java | 69 + .../solver/language/solverLanguage/Variable.java | 46 + .../solverLanguage/impl/AggregationImpl.java | 378 ++ .../language/solverLanguage/impl/ArgumentImpl.java | 40 + .../solverLanguage/impl/ArgumentListImpl.java | 154 + .../solverLanguage/impl/BinaryExpressionImpl.java | 317 ++ .../impl/BoundedMultiplicityImpl.java | 221 + .../impl/BoundedScopeDefinitionImpl.java | 221 + .../language/solverLanguage/impl/CallImpl.java | 373 ++ .../language/solverLanguage/impl/CaseImpl.java | 246 + .../solverLanguage/impl/CastExpressionImpl.java | 241 + .../solverLanguage/impl/ClassDefinitionImpl.java | 318 ++ .../solverLanguage/impl/ComparisonImpl.java | 317 ++ .../solverLanguage/impl/ConjunctionImpl.java | 152 + .../solverLanguage/impl/DefaultDefinitionImpl.java | 247 + .../solverLanguage/impl/DisjunctionImpl.java | 152 + .../impl/EmptyIntervalLiteralImpl.java | 38 + .../solverLanguage/impl/ExactMultiplicityImpl.java | 165 + .../impl/ExactScopeDefinitionImpl.java | 165 + .../impl/ExpressionArgumentImpl.java | 178 + .../solverLanguage/impl/ExpressionImpl.java | 38 + .../impl/ExternAggregatorDefinitionImpl.java | 291 ++ .../impl/ExternDatatypeDefinitionImpl.java | 208 + .../impl/ExternMetricDefinitionImpl.java | 311 ++ .../impl/ExternPredicateDefinitionImpl.java | 248 + .../language/solverLanguage/impl/FunctorImpl.java | 134 + .../language/solverLanguage/impl/IfElseImpl.java | 314 ++ .../solverLanguage/impl/InfinityLiteralImpl.java | 38 + .../solverLanguage/impl/InterpretationImpl.java | 246 + .../language/solverLanguage/impl/IntervalImpl.java | 246 + .../solverLanguage/impl/LetBindingImpl.java | 248 + .../language/solverLanguage/impl/LetImpl.java | 224 + .../language/solverLanguage/impl/LiteralImpl.java | 38 + .../solverLanguage/impl/LocalVariablesImpl.java | 154 + .../solverLanguage/impl/LogicLiteralImpl.java | 166 + .../impl/LowerBoundedScopeDefinitionImpl.java | 165 + .../solverLanguage/impl/ManyMultiplicityImpl.java | 38 + .../solverLanguage/impl/MemberDefinitionImpl.java | 430 ++ .../solverLanguage/impl/MetricDefinitionImpl.java | 309 ++ .../language/solverLanguage/impl/MetricImpl.java | 159 + .../solverLanguage/impl/MultiplicityImpl.java | 40 + .../solverLanguage/impl/NamedElementImpl.java | 166 + .../language/solverLanguage/impl/NodeImpl.java | 165 + .../solverLanguage/impl/NumericLiteralImpl.java | 167 + .../impl/ObjectiveDefinitionImpl.java | 249 + .../impl/PredicateDefinitionImpl.java | 372 ++ .../solverLanguage/impl/PredicateImpl.java | 38 + .../language/solverLanguage/impl/ProblemImpl.java | 154 + .../impl/QuantifiedExpressionImpl.java | 318 ++ .../solverLanguage/impl/ReferenceImpl.java | 159 + .../solverLanguage/impl/ScopeDefinitionImpl.java | 159 + .../impl/SolverLanguageFactoryImpl.java | 905 ++++ .../impl/SolverLanguagePackageImpl.java | 2726 ++++++++++ .../solverLanguage/impl/StarArgumentImpl.java | 38 + .../solverLanguage/impl/StatementImpl.java | 40 + .../solverLanguage/impl/StringLiteralImpl.java | 165 + .../language/solverLanguage/impl/SwitchImpl.java | 152 + .../solverLanguage/impl/TypedArgumentImpl.java | 221 + .../solverLanguage/impl/TypedStarArgumentImpl.java | 159 + .../solverLanguage/impl/UnaryExpressionImpl.java | 249 + .../impl/UnnamedErrorPrediateDefinitionImpl.java | 247 + .../language/solverLanguage/impl/VariableImpl.java | 159 + .../util/SolverLanguageAdapterFactory.java | 1147 +++++ .../solverLanguage/util/SolverLanguageSwitch.java | 1388 ++++++ 127 files changed, 28058 insertions(+) create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java (limited to 'Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver') diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java new file mode 100644 index 00000000..f6159bd8 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java @@ -0,0 +1,115 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Aggregation'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation() + * @model + * @generated + */ +public interface Aggregation extends Expression { + /** + * Returns the value of the 'Op' reference. + * + * + * @return the value of the 'Op' reference. + * @see #setOp(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op() + * @model + * @generated + */ + NamedElement getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}' reference. + * + * + * @param value the new value of the 'Op' reference. + * @see #getOp() + * @generated + */ + void setOp(NamedElement value); + + /** + * Returns the value of the 'Local Variables' containment reference. + * + * + * @return the value of the 'Local Variables' containment reference. + * @see #setLocalVariables(LocalVariables) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_LocalVariables() + * @model containment="true" + * @generated + */ + LocalVariables getLocalVariables(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables Local Variables}' containment reference. + * + * + * @param value the new value of the 'Local Variables' containment reference. + * @see #getLocalVariables() + * @generated + */ + void setLocalVariables(LocalVariables value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Condition' containment reference. + * + * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + +} // Aggregation diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java new file mode 100644 index 00000000..3f5d1b45 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Argument'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgument() + * @model + * @generated + */ +public interface Argument extends EObject { +} // Argument diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java new file mode 100644 index 00000000..2be01423 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java @@ -0,0 +1,39 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Argument List'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList() + * @model + * @generated + */ +public interface ArgumentList extends EObject { + /** + * Returns the value of the 'Arguments' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Argument}. + * + * + * @return the value of the 'Arguments' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments() + * @model containment="true" + * @generated + */ + EList getArguments(); + +} // ArgumentList diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java new file mode 100644 index 00000000..6b50beba --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java @@ -0,0 +1,95 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Binary Expression'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression() + * @model + * @generated + */ +public interface BinaryExpression extends Expression { + /** + * Returns the value of the 'Left' containment reference. + * + * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #setOp(BinaryOperator) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Op() + * @model + * @generated + */ + BinaryOperator getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp Op}' attribute. + * + * + * @param value the new value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #getOp() + * @generated + */ + void setOp(BinaryOperator value); + + /** + * Returns the value of the 'Right' containment reference. + * + * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // BinaryExpression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java new file mode 100644 index 00000000..ce34afc7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java @@ -0,0 +1,463 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Binary Operator', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryOperator() + * @model + * @generated + */ +public enum BinaryOperator implements Enumerator { + /** + * The 'EQ' literal object. + * + * + * @see #EQ_VALUE + * @generated + * @ordered + */ + EQ(0, "EQ", "EQ"), + + /** + * The 'NOT EQ' literal object. + * + * + * @see #NOT_EQ_VALUE + * @generated + * @ordered + */ + NOT_EQ(1, "NOT_EQ", "NOT_EQ"), + + /** + * The 'LESS' literal object. + * + * + * @see #LESS_VALUE + * @generated + * @ordered + */ + LESS(2, "LESS", "LESS"), + + /** + * The 'LESS EQ' literal object. + * + * + * @see #LESS_EQ_VALUE + * @generated + * @ordered + */ + LESS_EQ(3, "LESS_EQ", "LESS_EQ"), + + /** + * The 'GREATER' literal object. + * + * + * @see #GREATER_VALUE + * @generated + * @ordered + */ + GREATER(4, "GREATER", "GREATER"), + + /** + * The 'GREATER EQ' literal object. + * + * + * @see #GREATER_EQ_VALUE + * @generated + * @ordered + */ + GREATER_EQ(5, "GREATER_EQ", "GREATER_EQ"), + + /** + * The 'IN' literal object. + * + * + * @see #IN_VALUE + * @generated + * @ordered + */ + IN(6, "IN", "IN"), + + /** + * The 'ADD' literal object. + * + * + * @see #ADD_VALUE + * @generated + * @ordered + */ + ADD(7, "ADD", "ADD"), + + /** + * The 'SUB' literal object. + * + * + * @see #SUB_VALUE + * @generated + * @ordered + */ + SUB(8, "SUB", "SUB"), + + /** + * The 'MUL' literal object. + * + * + * @see #MUL_VALUE + * @generated + * @ordered + */ + MUL(9, "MUL", "MUL"), + + /** + * The 'DIV' literal object. + * + * + * @see #DIV_VALUE + * @generated + * @ordered + */ + DIV(10, "DIV", "DIV"), + + /** + * The 'POW' literal object. + * + * + * @see #POW_VALUE + * @generated + * @ordered + */ + POW(11, "POW", "POW"), + + /** + * The 'IMPLIES' literal object. + * + * + * @see #IMPLIES_VALUE + * @generated + * @ordered + */ + IMPLIES(12, "IMPLIES", "IMPLIES"); + + /** + * The 'EQ' literal value. + * + * + * @see #EQ + * @model + * @generated + * @ordered + */ + public static final int EQ_VALUE = 0; + + /** + * The 'NOT EQ' literal value. + * + * + * @see #NOT_EQ + * @model + * @generated + * @ordered + */ + public static final int NOT_EQ_VALUE = 1; + + /** + * The 'LESS' literal value. + * + * + * @see #LESS + * @model + * @generated + * @ordered + */ + public static final int LESS_VALUE = 2; + + /** + * The 'LESS EQ' literal value. + * + * + * @see #LESS_EQ + * @model + * @generated + * @ordered + */ + public static final int LESS_EQ_VALUE = 3; + + /** + * The 'GREATER' literal value. + * + * + * @see #GREATER + * @model + * @generated + * @ordered + */ + public static final int GREATER_VALUE = 4; + + /** + * The 'GREATER EQ' literal value. + * + * + * @see #GREATER_EQ + * @model + * @generated + * @ordered + */ + public static final int GREATER_EQ_VALUE = 5; + + /** + * The 'IN' literal value. + * + * + * @see #IN + * @model + * @generated + * @ordered + */ + public static final int IN_VALUE = 6; + + /** + * The 'ADD' literal value. + * + * + * @see #ADD + * @model + * @generated + * @ordered + */ + public static final int ADD_VALUE = 7; + + /** + * The 'SUB' literal value. + * + * + * @see #SUB + * @model + * @generated + * @ordered + */ + public static final int SUB_VALUE = 8; + + /** + * The 'MUL' literal value. + * + * + * @see #MUL + * @model + * @generated + * @ordered + */ + public static final int MUL_VALUE = 9; + + /** + * The 'DIV' literal value. + * + * + * @see #DIV + * @model + * @generated + * @ordered + */ + public static final int DIV_VALUE = 10; + + /** + * The 'POW' literal value. + * + * + * @see #POW + * @model + * @generated + * @ordered + */ + public static final int POW_VALUE = 11; + + /** + * The 'IMPLIES' literal value. + * + * + * @see #IMPLIES + * @model + * @generated + * @ordered + */ + public static final int IMPLIES_VALUE = 12; + + /** + * An array of all the 'Binary Operator' enumerators. + * + * + * @generated + */ + private static final BinaryOperator[] VALUES_ARRAY = + new BinaryOperator[] { + EQ, + NOT_EQ, + LESS, + LESS_EQ, + GREATER, + GREATER_EQ, + IN, + ADD, + SUB, + MUL, + DIV, + POW, + IMPLIES, + }; + + /** + * A public read-only list of all the 'Binary Operator' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Binary Operator' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static BinaryOperator get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + BinaryOperator result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Binary Operator' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static BinaryOperator getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + BinaryOperator result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Binary Operator' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static BinaryOperator get(int value) { + switch (value) { + case EQ_VALUE: return EQ; + case NOT_EQ_VALUE: return NOT_EQ; + case LESS_VALUE: return LESS; + case LESS_EQ_VALUE: return LESS_EQ; + case GREATER_VALUE: return GREATER; + case GREATER_EQ_VALUE: return GREATER_EQ; + case IN_VALUE: return IN; + case ADD_VALUE: return ADD; + case SUB_VALUE: return SUB; + case MUL_VALUE: return MUL; + case DIV_VALUE: return DIV; + case POW_VALUE: return POW; + case IMPLIES_VALUE: return IMPLIES; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private BinaryOperator(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //BinaryOperator diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java new file mode 100644 index 00000000..e0cea7d4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Bounded Multiplicity'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound Upper Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity() + * @model + * @generated + */ +public interface BoundedMultiplicity extends Multiplicity { + /** + * Returns the value of the 'Lower Bound' attribute. + * + * + * @return the value of the 'Lower Bound' attribute. + * @see #setLowerBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound Lower Bound}' attribute. + * + * + * @param value the new value of the 'Lower Bound' attribute. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(int value); + + /** + * Returns the value of the 'Upper Bound' attribute. + * + * + * @return the value of the 'Upper Bound' attribute. + * @see #setUpperBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_UpperBound() + * @model + * @generated + */ + int getUpperBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound Upper Bound}' attribute. + * + * + * @param value the new value of the 'Upper Bound' attribute. + * @see #getUpperBound() + * @generated + */ + void setUpperBound(int value); + +} // BoundedMultiplicity diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java new file mode 100644 index 00000000..81f87193 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Bounded Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound Upper Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition() + * @model + * @generated + */ +public interface BoundedScopeDefinition extends ScopeDefinition { + /** + * Returns the value of the 'Lower Bound' attribute. + * + * + * @return the value of the 'Lower Bound' attribute. + * @see #setLowerBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound Lower Bound}' attribute. + * + * + * @param value the new value of the 'Lower Bound' attribute. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(int value); + + /** + * Returns the value of the 'Upper Bound' attribute. + * + * + * @return the value of the 'Upper Bound' attribute. + * @see #setUpperBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_UpperBound() + * @model + * @generated + */ + int getUpperBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound Upper Bound}' attribute. + * + * + * @param value the new value of the 'Upper Bound' attribute. + * @see #getUpperBound() + * @generated + */ + void setUpperBound(int value); + +} // BoundedScopeDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java new file mode 100644 index 00000000..ab0940bb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java @@ -0,0 +1,115 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Call'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor Functor}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall() + * @model + * @generated + */ +public interface Call extends Expression { + /** + * Returns the value of the 'Functor' containment reference. + * + * + * @return the value of the 'Functor' containment reference. + * @see #setFunctor(Reference) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_Functor() + * @model containment="true" + * @generated + */ + Reference getFunctor(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor Functor}' containment reference. + * + * + * @param value the new value of the 'Functor' containment reference. + * @see #getFunctor() + * @generated + */ + void setFunctor(Reference value); + + /** + * Returns the value of the 'Transitive Closure' attribute. + * + * + * @return the value of the 'Transitive Closure' attribute. + * @see #setTransitiveClosure(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_TransitiveClosure() + * @model + * @generated + */ + boolean isTransitiveClosure(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}' attribute. + * + * + * @param value the new value of the 'Transitive Closure' attribute. + * @see #isTransitiveClosure() + * @generated + */ + void setTransitiveClosure(boolean value); + + /** + * Returns the value of the 'Reflexive Transitive Closure' attribute. + * + * + * @return the value of the 'Reflexive Transitive Closure' attribute. + * @see #setReflexiveTransitiveClosure(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ReflexiveTransitiveClosure() + * @model + * @generated + */ + boolean isReflexiveTransitiveClosure(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}' attribute. + * + * + * @param value the new value of the 'Reflexive Transitive Closure' attribute. + * @see #isReflexiveTransitiveClosure() + * @generated + */ + void setReflexiveTransitiveClosure(boolean value); + + /** + * Returns the value of the 'Argument List' containment reference. + * + * + * @return the value of the 'Argument List' containment reference. + * @see #setArgumentList(ArgumentList) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + +} // Call diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java new file mode 100644 index 00000000..f2d2e5a7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Case'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition Condition}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase() + * @model + * @generated + */ +public interface Case extends Expression { + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Condition' containment reference. + * + * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + +} // Case diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java new file mode 100644 index 00000000..d8fe4945 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Cast Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression() + * @model + * @generated + */ +public interface CastExpression extends Expression { + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // CastExpression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java new file mode 100644 index 00000000..0963c7a1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java @@ -0,0 +1,96 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Class Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition() + * @model + * @generated + */ +public interface ClassDefinition extends Statement { + /** + * Returns the value of the 'Abstract' attribute. + * + * + * @return the value of the 'Abstract' attribute. + * @see #setAbstract(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Abstract() + * @model + * @generated + */ + boolean isAbstract(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}' attribute. + * + * + * @param value the new value of the 'Abstract' attribute. + * @see #isAbstract() + * @generated + */ + void setAbstract(boolean value); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Superclasses' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. + * + * + * @return the value of the 'Superclasses' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Superclasses() + * @model + * @generated + */ + EList getSuperclasses(); + + /** + * Returns the value of the 'Members' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}. + * + * + * @return the value of the 'Members' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Members() + * @model containment="true" + * @generated + */ + EList getMembers(); + +} // ClassDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java new file mode 100644 index 00000000..5187c5db --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java @@ -0,0 +1,95 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Comparison'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft Left}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight Right}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison() + * @model + * @generated + */ +public interface Comparison extends Expression { + /** + * Returns the value of the 'Left' containment reference. + * + * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #setOp(BinaryOperator) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Op() + * @model + * @generated + */ + BinaryOperator getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp Op}' attribute. + * + * + * @param value the new value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #getOp() + * @generated + */ + void setOp(BinaryOperator value); + + /** + * Returns the value of the 'Right' containment reference. + * + * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Comparison diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java new file mode 100644 index 00000000..788f5a97 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java @@ -0,0 +1,37 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Conjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren Children}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction() + * @model + * @generated + */ +public interface Conjunction extends Expression { + /** + * Returns the value of the 'Children' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}. + * + * + * @return the value of the 'Children' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction_Children() + * @model containment="true" + * @generated + */ + EList getChildren(); + +} // Conjunction diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java new file mode 100644 index 00000000..ac5f6f32 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Default Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange Range}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition() + * @model + * @generated + */ +public interface DefaultDefinition extends Statement { + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Call) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Head() + * @model containment="true" + * @generated + */ + Call getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Call value); + + /** + * Returns the value of the 'Range' containment reference. + * + * + * @return the value of the 'Range' containment reference. + * @see #setRange(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Range() + * @model containment="true" + * @generated + */ + Expression getRange(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange Range}' containment reference. + * + * + * @param value the new value of the 'Range' containment reference. + * @see #getRange() + * @generated + */ + void setRange(Expression value); + +} // DefaultDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java new file mode 100644 index 00000000..eb1cafde --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java @@ -0,0 +1,37 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Disjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren Children}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction() + * @model + * @generated + */ +public interface Disjunction extends Expression { + /** + * Returns the value of the 'Children' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}. + * + * + * @return the value of the 'Children' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction_Children() + * @model containment="true" + * @generated + */ + EList getChildren(); + +} // Disjunction diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java new file mode 100644 index 00000000..b3e5ccf7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Empty Interval Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyIntervalLiteral() + * @model + * @generated + */ +public interface EmptyIntervalLiteral extends Literal { +} // EmptyIntervalLiteral diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java new file mode 100644 index 00000000..666c2f43 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Exact Multiplicity'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity Multiplicity}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity() + * @model + * @generated + */ +public interface ExactMultiplicity extends Multiplicity { + /** + * Returns the value of the 'Multiplicity' attribute. + * + * + * @return the value of the 'Multiplicity' attribute. + * @see #setMultiplicity(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity_Multiplicity() + * @model + * @generated + */ + int getMultiplicity(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity Multiplicity}' attribute. + * + * + * @param value the new value of the 'Multiplicity' attribute. + * @see #getMultiplicity() + * @generated + */ + void setMultiplicity(int value); + +} // ExactMultiplicity diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java new file mode 100644 index 00000000..035329e2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Exact Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope Exact Scope}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition() + * @model + * @generated + */ +public interface ExactScopeDefinition extends ScopeDefinition { + /** + * Returns the value of the 'Exact Scope' attribute. + * + * + * @return the value of the 'Exact Scope' attribute. + * @see #setExactScope(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition_ExactScope() + * @model + * @generated + */ + int getExactScope(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope Exact Scope}' attribute. + * + * + * @param value the new value of the 'Exact Scope' attribute. + * @see #getExactScope() + * @generated + */ + void setExactScope(int value); + +} // ExactScopeDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java new file mode 100644 index 00000000..2034cdfd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Expression'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression() + * @model abstract="true" + * @generated + */ +public interface Expression extends Statement { +} // Expression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java new file mode 100644 index 00000000..26f6142e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Expression Argument'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument() + * @model + * @generated + */ +public interface ExpressionArgument extends Argument { + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // ExpressionArgument diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java new file mode 100644 index 00000000..eb6b8cdf --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java @@ -0,0 +1,92 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Extern Aggregator Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType Input Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition() + * @model + * @generated + */ +public interface ExternAggregatorDefinition extends Statement { + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Input Type' reference. + * + * + * @return the value of the 'Input Type' reference. + * @see #setInputType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition_InputType() + * @model + * @generated + */ + NamedElement getInputType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType Input Type}' reference. + * + * + * @param value the new value of the 'Input Type' reference. + * @see #getInputType() + * @generated + */ + void setInputType(NamedElement value); + +} // ExternAggregatorDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java new file mode 100644 index 00000000..a0fb33eb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java @@ -0,0 +1,60 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Extern Datatype Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes Supertypes}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDefinition() + * @model + * @generated + */ +public interface ExternDatatypeDefinition extends Statement { + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Supertypes' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. + * + * + * @return the value of the 'Supertypes' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDefinition_Supertypes() + * @model + * @generated + */ + EList getSupertypes(); + +} // ExternDatatypeDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java new file mode 100644 index 00000000..45cac1e2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java @@ -0,0 +1,92 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Extern Metric Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList Argument List}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition() + * @model + * @generated + */ +public interface ExternMetricDefinition extends Statement { + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Argument List' containment reference. + * + * + * @return the value of the 'Argument List' containment reference. + * @see #setArgumentList(ArgumentList) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + +} // ExternMetricDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java new file mode 100644 index 00000000..647f7b91 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Extern Predicate Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList Argument List}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition() + * @model + * @generated + */ +public interface ExternPredicateDefinition extends Statement { + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Argument List' containment reference. + * + * + * @return the value of the 'Argument List' containment reference. + * @see #setArgumentList(ArgumentList) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + +} // ExternPredicateDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java new file mode 100644 index 00000000..45861d3e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java @@ -0,0 +1,37 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Functor'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters Parameters}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctor() + * @model abstract="true" + * @generated + */ +public interface Functor extends NamedElement { + /** + * Returns the value of the 'Parameters' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Variable}. + * + * + * @return the value of the 'Parameters' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctor_Parameters() + * @model + * @generated + */ + EList getParameters(); + +} // Functor diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java new file mode 100644 index 00000000..d32ca1e3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java @@ -0,0 +1,92 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'If Else'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen Then}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse Else}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition Condition}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse() + * @model + * @generated + */ +public interface IfElse extends Expression { + /** + * Returns the value of the 'Then' containment reference. + * + * + * @return the value of the 'Then' containment reference. + * @see #setThen(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Then() + * @model containment="true" + * @generated + */ + Expression getThen(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen Then}' containment reference. + * + * + * @param value the new value of the 'Then' containment reference. + * @see #getThen() + * @generated + */ + void setThen(Expression value); + + /** + * Returns the value of the 'Else' containment reference. + * + * + * @return the value of the 'Else' containment reference. + * @see #setElse(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Else() + * @model containment="true" + * @generated + */ + Expression getElse(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse Else}' containment reference. + * + * + * @param value the new value of the 'Else' containment reference. + * @see #getElse() + * @generated + */ + void setElse(Expression value); + + /** + * Returns the value of the 'Condition' containment reference. + * + * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + +} // IfElse diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java new file mode 100644 index 00000000..5a584019 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Infinity Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInfinityLiteral() + * @model + * @generated + */ +public interface InfinityLiteral extends Literal { +} // InfinityLiteral diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java new file mode 100644 index 00000000..4d1b6b77 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Interpretation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange Range}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation() + * @model + * @generated + */ +public interface Interpretation extends Statement { + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Range' containment reference. + * + * + * @return the value of the 'Range' containment reference. + * @see #setRange(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation_Range() + * @model containment="true" + * @generated + */ + Expression getRange(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange Range}' containment reference. + * + * + * @param value the new value of the 'Range' containment reference. + * @see #getRange() + * @generated + */ + void setRange(Expression value); + +} // Interpretation diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java new file mode 100644 index 00000000..39e4cbf3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Interval'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound Upper Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval() + * @model + * @generated + */ +public interface Interval extends Expression { + /** + * Returns the value of the 'Lower Bound' containment reference. + * + * + * @return the value of the 'Lower Bound' containment reference. + * @see #setLowerBound(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_LowerBound() + * @model containment="true" + * @generated + */ + Expression getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound Lower Bound}' containment reference. + * + * + * @param value the new value of the 'Lower Bound' containment reference. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(Expression value); + + /** + * Returns the value of the 'Upper Bound' containment reference. + * + * + * @return the value of the 'Upper Bound' containment reference. + * @see #setUpperBound(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_UpperBound() + * @model containment="true" + * @generated + */ + Expression getUpperBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound Upper Bound}' containment reference. + * + * + * @param value the new value of the 'Upper Bound' containment reference. + * @see #getUpperBound() + * @generated + */ + void setUpperBound(Expression value); + +} // Interval diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java new file mode 100644 index 00000000..d3e76c1e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java @@ -0,0 +1,60 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Let'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings Bindings}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet() + * @model + * @generated + */ +public interface Let extends Expression { + /** + * Returns the value of the 'Bindings' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding}. + * + * + * @return the value of the 'Bindings' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet_Bindings() + * @model containment="true" + * @generated + */ + EList getBindings(); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // Let diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java new file mode 100644 index 00000000..f6569b11 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java @@ -0,0 +1,70 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Let Binding'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable Variable}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding() + * @model + * @generated + */ +public interface LetBinding extends EObject { + /** + * Returns the value of the 'Variable' containment reference. + * + * + * @return the value of the 'Variable' containment reference. + * @see #setVariable(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Variable() + * @model containment="true" + * @generated + */ + NamedElement getVariable(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable Variable}' containment reference. + * + * + * @param value the new value of the 'Variable' containment reference. + * @see #getVariable() + * @generated + */ + void setVariable(NamedElement value); + + /** + * Returns the value of the 'Value' containment reference. + * + * + * @return the value of the 'Value' containment reference. + * @see #setValue(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + +} // LetBinding diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java new file mode 100644 index 00000000..c7f7a31a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral() + * @model + * @generated + */ +public interface Literal extends Expression { +} // Literal diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java new file mode 100644 index 00000000..d5edda19 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java @@ -0,0 +1,39 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Local Variables'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables Variables}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLocalVariables() + * @model + * @generated + */ +public interface LocalVariables extends EObject { + /** + * Returns the value of the 'Variables' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. + * + * + * @return the value of the 'Variables' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLocalVariables_Variables() + * @model containment="true" + * @generated + */ + EList getVariables(); + +} // LocalVariables diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java new file mode 100644 index 00000000..8c60650b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java @@ -0,0 +1,49 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Logic Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral() + * @model + * @generated + */ +public interface LogicLiteral extends Literal { + /** + * Returns the value of the 'Value' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue}. + * + * + * @return the value of the 'Value' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see #setValue(LogicValue) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral_Value() + * @model + * @generated + */ + LogicValue getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see #getValue() + * @generated + */ + void setValue(LogicValue value); + +} // LogicLiteral diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java new file mode 100644 index 00000000..5f129c05 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java @@ -0,0 +1,256 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Logic Value', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicValue() + * @model + * @generated + */ +public enum LogicValue implements Enumerator { + /** + * The 'TRUE' literal object. + * + * + * @see #TRUE_VALUE + * @generated + * @ordered + */ + TRUE(0, "TRUE", "true"), + + /** + * The 'FALSE' literal object. + * + * + * @see #FALSE_VALUE + * @generated + * @ordered + */ + FALSE(1, "FALSE", "false"), + + /** + * The 'UNKNOWN' literal object. + * + * + * @see #UNKNOWN_VALUE + * @generated + * @ordered + */ + UNKNOWN(2, "UNKNOWN", "unknown"), + + /** + * The 'ERROR' literal object. + * + * + * @see #ERROR_VALUE + * @generated + * @ordered + */ + ERROR(3, "ERROR", "error"); + + /** + * The 'TRUE' literal value. + * + * + * @see #TRUE + * @model literal="true" + * @generated + * @ordered + */ + public static final int TRUE_VALUE = 0; + + /** + * The 'FALSE' literal value. + * + * + * @see #FALSE + * @model literal="false" + * @generated + * @ordered + */ + public static final int FALSE_VALUE = 1; + + /** + * The 'UNKNOWN' literal value. + * + * + * @see #UNKNOWN + * @model literal="unknown" + * @generated + * @ordered + */ + public static final int UNKNOWN_VALUE = 2; + + /** + * The 'ERROR' literal value. + * + * + * @see #ERROR + * @model literal="error" + * @generated + * @ordered + */ + public static final int ERROR_VALUE = 3; + + /** + * An array of all the 'Logic Value' enumerators. + * + * + * @generated + */ + private static final LogicValue[] VALUES_ARRAY = + new LogicValue[] { + TRUE, + FALSE, + UNKNOWN, + ERROR, + }; + + /** + * A public read-only list of all the 'Logic Value' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Logic Value' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static LogicValue get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + LogicValue result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Logic Value' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static LogicValue getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + LogicValue result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Logic Value' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static LogicValue get(int value) { + switch (value) { + case TRUE_VALUE: return TRUE; + case FALSE_VALUE: return FALSE; + case UNKNOWN_VALUE: return UNKNOWN; + case ERROR_VALUE: return ERROR; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private LogicValue(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //LogicValue diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java new file mode 100644 index 00000000..1c1c6764 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Lower Bounded Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound Lower Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition() + * @model + * @generated + */ +public interface LowerBoundedScopeDefinition extends ScopeDefinition { + /** + * Returns the value of the 'Lower Bound' attribute. + * + * + * @return the value of the 'Lower Bound' attribute. + * @see #setLowerBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound Lower Bound}' attribute. + * + * + * @param value the new value of the 'Lower Bound' attribute. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(int value); + +} // LowerBoundedScopeDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java new file mode 100644 index 00000000..2d40f570 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Many Multiplicity'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getManyMultiplicity() + * @model + * @generated + */ +public interface ManyMultiplicity extends Multiplicity { +} // ManyMultiplicity diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java new file mode 100644 index 00000000..6a8d507e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java @@ -0,0 +1,139 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Member Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment Containment}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity Multiplicity}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite Opposite}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition() + * @model + * @generated + */ +public interface MemberDefinition extends EObject { + /** + * Returns the value of the 'Containment' attribute. + * + * + * @return the value of the 'Containment' attribute. + * @see #setContainment(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Containment() + * @model + * @generated + */ + boolean isContainment(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment Containment}' attribute. + * + * + * @param value the new value of the 'Containment' attribute. + * @see #isContainment() + * @generated + */ + void setContainment(boolean value); + + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + + /** + * Returns the value of the 'Multiplicity' containment reference. + * + * + * @return the value of the 'Multiplicity' containment reference. + * @see #setMultiplicity(Multiplicity) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Multiplicity() + * @model containment="true" + * @generated + */ + Multiplicity getMultiplicity(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity Multiplicity}' containment reference. + * + * + * @param value the new value of the 'Multiplicity' containment reference. + * @see #getMultiplicity() + * @generated + */ + void setMultiplicity(Multiplicity value); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Opposite' reference. + * + * + * @return the value of the 'Opposite' reference. + * @see #setOpposite(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Opposite() + * @model + * @generated + */ + NamedElement getOpposite(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite Opposite}' reference. + * + * + * @param value the new value of the 'Opposite' reference. + * @see #getOpposite() + * @generated + */ + void setOpposite(NamedElement value); + +} // MemberDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java new file mode 100644 index 00000000..02724d03 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Metric'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType Return Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetric() + * @model + * @generated + */ +public interface Metric extends Functor { + /** + * Returns the value of the 'Return Type' reference. + * + * + * @return the value of the 'Return Type' reference. + * @see #setReturnType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetric_ReturnType() + * @model + * @generated + */ + NamedElement getReturnType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType Return Type}' reference. + * + * + * @param value the new value of the 'Return Type' reference. + * @see #getReturnType() + * @generated + */ + void setReturnType(NamedElement value); + +} // Metric diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java new file mode 100644 index 00000000..fa86f55e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java @@ -0,0 +1,92 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Metric Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition() + * @model + * @generated + */ +public interface MetricDefinition extends Statement { + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Head() + * @model containment="true" + * @generated + */ + Expression getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Expression value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // MetricDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java new file mode 100644 index 00000000..5b6f1306 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Multiplicity'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicity() + * @model + * @generated + */ +public interface Multiplicity extends EObject { +} // Multiplicity diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java new file mode 100644 index 00000000..4daa21ab --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Named Element'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement() + * @model + * @generated + */ +public interface NamedElement extends EObject { + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // NamedElement diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java new file mode 100644 index 00000000..f9c5d833 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Node'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId With Id}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode() + * @model + * @generated + */ +public interface Node extends NamedElement { + /** + * Returns the value of the 'With Id' attribute. + * + * + * @return the value of the 'With Id' attribute. + * @see #setWithId(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode_WithId() + * @model + * @generated + */ + boolean isWithId(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId With Id}' attribute. + * + * + * @param value the new value of the 'With Id' attribute. + * @see #isWithId() + * @generated + */ + void setWithId(boolean value); + +} // Node diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java new file mode 100644 index 00000000..dcefba48 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.math.BigDecimal; + +/** + * + * A representation of the model object 'Numeric Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral() + * @model + * @generated + */ +public interface NumericLiteral extends Literal { + /** + * Returns the value of the 'Value' attribute. + * + * + * @return the value of the 'Value' attribute. + * @see #setValue(BigDecimal) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral_Value() + * @model + * @generated + */ + BigDecimal getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(BigDecimal value); + +} // NumericLiteral diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java new file mode 100644 index 00000000..ffd46d01 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java @@ -0,0 +1,72 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Objective Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind Kind}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective Objective}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition() + * @model + * @generated + */ +public interface ObjectiveDefinition extends Statement { + /** + * Returns the value of the 'Kind' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind}. + * + * + * @return the value of the 'Kind' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see #setKind(ObjectiveKind) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Kind() + * @model + * @generated + */ + ObjectiveKind getKind(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind Kind}' attribute. + * + * + * @param value the new value of the 'Kind' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see #getKind() + * @generated + */ + void setKind(ObjectiveKind value); + + /** + * Returns the value of the 'Objective' containment reference. + * + * + * @return the value of the 'Objective' containment reference. + * @see #setObjective(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Objective() + * @model containment="true" + * @generated + */ + Expression getObjective(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective Objective}' containment reference. + * + * + * @param value the new value of the 'Objective' containment reference. + * @see #getObjective() + * @generated + */ + void setObjective(Expression value); + +} // ObjectiveDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java new file mode 100644 index 00000000..72f5947c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java @@ -0,0 +1,210 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Objective Kind', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveKind() + * @model + * @generated + */ +public enum ObjectiveKind implements Enumerator { + /** + * The 'MINIMIZE' literal object. + * + * + * @see #MINIMIZE_VALUE + * @generated + * @ordered + */ + MINIMIZE(0, "MINIMIZE", "minimize"), + + /** + * The 'MAXIMIZE' literal object. + * + * + * @see #MAXIMIZE_VALUE + * @generated + * @ordered + */ + MAXIMIZE(1, "MAXIMIZE", "maximize"); + + /** + * The 'MINIMIZE' literal value. + * + * + * @see #MINIMIZE + * @model literal="minimize" + * @generated + * @ordered + */ + public static final int MINIMIZE_VALUE = 0; + + /** + * The 'MAXIMIZE' literal value. + * + * + * @see #MAXIMIZE + * @model literal="maximize" + * @generated + * @ordered + */ + public static final int MAXIMIZE_VALUE = 1; + + /** + * An array of all the 'Objective Kind' enumerators. + * + * + * @generated + */ + private static final ObjectiveKind[] VALUES_ARRAY = + new ObjectiveKind[] { + MINIMIZE, + MAXIMIZE, + }; + + /** + * A public read-only list of all the 'Objective Kind' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Objective Kind' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static ObjectiveKind get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + ObjectiveKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Objective Kind' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static ObjectiveKind getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + ObjectiveKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Objective Kind' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static ObjectiveKind get(int value) { + switch (value) { + case MINIMIZE_VALUE: return MINIMIZE; + case MAXIMIZE_VALUE: return MAXIMIZE; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private ObjectiveKind(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //ObjectiveKind diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java new file mode 100644 index 00000000..cfeaa0f2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Predicate'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate() + * @model + * @generated + */ +public interface Predicate extends Functor { +} // Predicate diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java new file mode 100644 index 00000000..ff248906 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java @@ -0,0 +1,115 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Predicate Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional Functional}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError Error}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition() + * @model + * @generated + */ +public interface PredicateDefinition extends Statement { + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Head() + * @model containment="true" + * @generated + */ + Expression getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Expression value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Functional' attribute. + * + * + * @return the value of the 'Functional' attribute. + * @see #setFunctional(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Functional() + * @model + * @generated + */ + boolean isFunctional(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional Functional}' attribute. + * + * + * @param value the new value of the 'Functional' attribute. + * @see #isFunctional() + * @generated + */ + void setFunctional(boolean value); + + /** + * Returns the value of the 'Error' attribute. + * + * + * @return the value of the 'Error' attribute. + * @see #setError(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Error() + * @model + * @generated + */ + boolean isError(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError Error}' attribute. + * + * + * @param value the new value of the 'Error' attribute. + * @see #isError() + * @generated + */ + void setError(boolean value); + +} // PredicateDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java new file mode 100644 index 00000000..56fac081 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java @@ -0,0 +1,39 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Problem'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements Statements}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem() + * @model + * @generated + */ +public interface Problem extends EObject { + /** + * Returns the value of the 'Statements' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Statement}. + * + * + * @return the value of the 'Statements' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements() + * @model containment="true" + * @generated + */ + EList getStatements(); + +} // Problem diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java new file mode 100644 index 00000000..0b2edb36 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java @@ -0,0 +1,95 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Quantified Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables Local Variables}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier Quantifier}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression() + * @model + * @generated + */ +public interface QuantifiedExpression extends Expression { + /** + * Returns the value of the 'Local Variables' containment reference. + * + * + * @return the value of the 'Local Variables' containment reference. + * @see #setLocalVariables(LocalVariables) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression_LocalVariables() + * @model containment="true" + * @generated + */ + LocalVariables getLocalVariables(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables Local Variables}' containment reference. + * + * + * @param value the new value of the 'Local Variables' containment reference. + * @see #getLocalVariables() + * @generated + */ + void setLocalVariables(LocalVariables value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Quantifier' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier}. + * + * + * @return the value of the 'Quantifier' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see #setQuantifier(Quantifier) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression_Quantifier() + * @model + * @generated + */ + Quantifier getQuantifier(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier Quantifier}' attribute. + * + * + * @param value the new value of the 'Quantifier' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see #getQuantifier() + * @generated + */ + void setQuantifier(Quantifier value); + +} // QuantifiedExpression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java new file mode 100644 index 00000000..4c674fe0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java @@ -0,0 +1,233 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Quantifier', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifier() + * @model + * @generated + */ +public enum Quantifier implements Enumerator { + /** + * The 'EXISTS' literal object. + * + * + * @see #EXISTS_VALUE + * @generated + * @ordered + */ + EXISTS(0, "EXISTS", "EXISTS"), + + /** + * The 'FORALL' literal object. + * + * + * @see #FORALL_VALUE + * @generated + * @ordered + */ + FORALL(1, "FORALL", "FORALL"), + + /** + * The 'COUNT' literal object. + * + * + * @see #COUNT_VALUE + * @generated + * @ordered + */ + COUNT(2, "COUNT", "COUNT"); + + /** + * The 'EXISTS' literal value. + * + * + * @see #EXISTS + * @model + * @generated + * @ordered + */ + public static final int EXISTS_VALUE = 0; + + /** + * The 'FORALL' literal value. + * + * + * @see #FORALL + * @model + * @generated + * @ordered + */ + public static final int FORALL_VALUE = 1; + + /** + * The 'COUNT' literal value. + * + * + * @see #COUNT + * @model + * @generated + * @ordered + */ + public static final int COUNT_VALUE = 2; + + /** + * An array of all the 'Quantifier' enumerators. + * + * + * @generated + */ + private static final Quantifier[] VALUES_ARRAY = + new Quantifier[] { + EXISTS, + FORALL, + COUNT, + }; + + /** + * A public read-only list of all the 'Quantifier' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Quantifier' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static Quantifier get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Quantifier result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Quantifier' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static Quantifier getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Quantifier result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Quantifier' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static Quantifier get(int value) { + switch (value) { + case EXISTS_VALUE: return EXISTS; + case FORALL_VALUE: return FORALL; + case COUNT_VALUE: return COUNT; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private Quantifier(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //Quantifier diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java new file mode 100644 index 00000000..5fd43f34 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Reference'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred Referred}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference() + * @model + * @generated + */ +public interface Reference extends Expression { + /** + * Returns the value of the 'Referred' reference. + * + * + * @return the value of the 'Referred' reference. + * @see #setReferred(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference_Referred() + * @model + * @generated + */ + NamedElement getReferred(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred Referred}' reference. + * + * + * @param value the new value of the 'Referred' reference. + * @see #getReferred() + * @generated + */ + void setReferred(NamedElement value); + +} // Reference diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java new file mode 100644 index 00000000..6cd03ef0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition() + * @model + * @generated + */ +public interface ScopeDefinition extends Statement { + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // ScopeDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java new file mode 100644 index 00000000..6589eaa4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java @@ -0,0 +1,538 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage + * @generated + */ +public interface SolverLanguageFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl.init(); + + /** + * Returns a new object of class 'Problem'. + * + * + * @return a new object of class 'Problem'. + * @generated + */ + Problem createProblem(); + + /** + * Returns a new object of class 'Statement'. + * + * + * @return a new object of class 'Statement'. + * @generated + */ + Statement createStatement(); + + /** + * Returns a new object of class 'Predicate Definition'. + * + * + * @return a new object of class 'Predicate Definition'. + * @generated + */ + PredicateDefinition createPredicateDefinition(); + + /** + * Returns a new object of class 'Unnamed Error Prediate Definition'. + * + * + * @return a new object of class 'Unnamed Error Prediate Definition'. + * @generated + */ + UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition(); + + /** + * Returns a new object of class 'Default Definition'. + * + * + * @return a new object of class 'Default Definition'. + * @generated + */ + DefaultDefinition createDefaultDefinition(); + + /** + * Returns a new object of class 'Metric Definition'. + * + * + * @return a new object of class 'Metric Definition'. + * @generated + */ + MetricDefinition createMetricDefinition(); + + /** + * Returns a new object of class 'Extern Predicate Definition'. + * + * + * @return a new object of class 'Extern Predicate Definition'. + * @generated + */ + ExternPredicateDefinition createExternPredicateDefinition(); + + /** + * Returns a new object of class 'Extern Metric Definition'. + * + * + * @return a new object of class 'Extern Metric Definition'. + * @generated + */ + ExternMetricDefinition createExternMetricDefinition(); + + /** + * Returns a new object of class 'Extern Aggregator Definition'. + * + * + * @return a new object of class 'Extern Aggregator Definition'. + * @generated + */ + ExternAggregatorDefinition createExternAggregatorDefinition(); + + /** + * Returns a new object of class 'Extern Datatype Definition'. + * + * + * @return a new object of class 'Extern Datatype Definition'. + * @generated + */ + ExternDatatypeDefinition createExternDatatypeDefinition(); + + /** + * Returns a new object of class 'Named Element'. + * + * + * @return a new object of class 'Named Element'. + * @generated + */ + NamedElement createNamedElement(); + + /** + * Returns a new object of class 'If Else'. + * + * + * @return a new object of class 'If Else'. + * @generated + */ + IfElse createIfElse(); + + /** + * Returns a new object of class 'Let'. + * + * + * @return a new object of class 'Let'. + * @generated + */ + Let createLet(); + + /** + * Returns a new object of class 'Let Binding'. + * + * + * @return a new object of class 'Let Binding'. + * @generated + */ + LetBinding createLetBinding(); + + /** + * Returns a new object of class 'Case'. + * + * + * @return a new object of class 'Case'. + * @generated + */ + Case createCase(); + + /** + * Returns a new object of class 'Local Variables'. + * + * + * @return a new object of class 'Local Variables'. + * @generated + */ + LocalVariables createLocalVariables(); + + /** + * Returns a new object of class 'Quantified Expression'. + * + * + * @return a new object of class 'Quantified Expression'. + * @generated + */ + QuantifiedExpression createQuantifiedExpression(); + + /** + * Returns a new object of class 'Aggregation'. + * + * + * @return a new object of class 'Aggregation'. + * @generated + */ + Aggregation createAggregation(); + + /** + * Returns a new object of class 'Call'. + * + * + * @return a new object of class 'Call'. + * @generated + */ + Call createCall(); + + /** + * Returns a new object of class 'Argument List'. + * + * + * @return a new object of class 'Argument List'. + * @generated + */ + ArgumentList createArgumentList(); + + /** + * Returns a new object of class 'Argument'. + * + * + * @return a new object of class 'Argument'. + * @generated + */ + Argument createArgument(); + + /** + * Returns a new object of class 'Expression Argument'. + * + * + * @return a new object of class 'Expression Argument'. + * @generated + */ + ExpressionArgument createExpressionArgument(); + + /** + * Returns a new object of class 'Star Argument'. + * + * + * @return a new object of class 'Star Argument'. + * @generated + */ + StarArgument createStarArgument(); + + /** + * Returns a new object of class 'Typed Argument'. + * + * + * @return a new object of class 'Typed Argument'. + * @generated + */ + TypedArgument createTypedArgument(); + + /** + * Returns a new object of class 'Typed Star Argument'. + * + * + * @return a new object of class 'Typed Star Argument'. + * @generated + */ + TypedStarArgument createTypedStarArgument(); + + /** + * Returns a new object of class 'Reference'. + * + * + * @return a new object of class 'Reference'. + * @generated + */ + Reference createReference(); + + /** + * Returns a new object of class 'Interval'. + * + * + * @return a new object of class 'Interval'. + * @generated + */ + Interval createInterval(); + + /** + * Returns a new object of class 'Literal'. + * + * + * @return a new object of class 'Literal'. + * @generated + */ + Literal createLiteral(); + + /** + * Returns a new object of class 'Logic Literal'. + * + * + * @return a new object of class 'Logic Literal'. + * @generated + */ + LogicLiteral createLogicLiteral(); + + /** + * Returns a new object of class 'Numeric Literal'. + * + * + * @return a new object of class 'Numeric Literal'. + * @generated + */ + NumericLiteral createNumericLiteral(); + + /** + * Returns a new object of class 'Infinity Literal'. + * + * + * @return a new object of class 'Infinity Literal'. + * @generated + */ + InfinityLiteral createInfinityLiteral(); + + /** + * Returns a new object of class 'Empty Interval Literal'. + * + * + * @return a new object of class 'Empty Interval Literal'. + * @generated + */ + EmptyIntervalLiteral createEmptyIntervalLiteral(); + + /** + * Returns a new object of class 'String Literal'. + * + * + * @return a new object of class 'String Literal'. + * @generated + */ + StringLiteral createStringLiteral(); + + /** + * Returns a new object of class 'Class Definition'. + * + * + * @return a new object of class 'Class Definition'. + * @generated + */ + ClassDefinition createClassDefinition(); + + /** + * Returns a new object of class 'Member Definition'. + * + * + * @return a new object of class 'Member Definition'. + * @generated + */ + MemberDefinition createMemberDefinition(); + + /** + * Returns a new object of class 'Multiplicity'. + * + * + * @return a new object of class 'Multiplicity'. + * @generated + */ + Multiplicity createMultiplicity(); + + /** + * Returns a new object of class 'Many Multiplicity'. + * + * + * @return a new object of class 'Many Multiplicity'. + * @generated + */ + ManyMultiplicity createManyMultiplicity(); + + /** + * Returns a new object of class 'Exact Multiplicity'. + * + * + * @return a new object of class 'Exact Multiplicity'. + * @generated + */ + ExactMultiplicity createExactMultiplicity(); + + /** + * Returns a new object of class 'Bounded Multiplicity'. + * + * + * @return a new object of class 'Bounded Multiplicity'. + * @generated + */ + BoundedMultiplicity createBoundedMultiplicity(); + + /** + * Returns a new object of class 'Scope Definition'. + * + * + * @return a new object of class 'Scope Definition'. + * @generated + */ + ScopeDefinition createScopeDefinition(); + + /** + * Returns a new object of class 'Exact Scope Definition'. + * + * + * @return a new object of class 'Exact Scope Definition'. + * @generated + */ + ExactScopeDefinition createExactScopeDefinition(); + + /** + * Returns a new object of class 'Bounded Scope Definition'. + * + * + * @return a new object of class 'Bounded Scope Definition'. + * @generated + */ + BoundedScopeDefinition createBoundedScopeDefinition(); + + /** + * Returns a new object of class 'Lower Bounded Scope Definition'. + * + * + * @return a new object of class 'Lower Bounded Scope Definition'. + * @generated + */ + LowerBoundedScopeDefinition createLowerBoundedScopeDefinition(); + + /** + * Returns a new object of class 'Objective Definition'. + * + * + * @return a new object of class 'Objective Definition'. + * @generated + */ + ObjectiveDefinition createObjectiveDefinition(); + + /** + * Returns a new object of class 'Interpretation'. + * + * + * @return a new object of class 'Interpretation'. + * @generated + */ + Interpretation createInterpretation(); + + /** + * Returns a new object of class 'Variable'. + * + * + * @return a new object of class 'Variable'. + * @generated + */ + Variable createVariable(); + + /** + * Returns a new object of class 'Disjunction'. + * + * + * @return a new object of class 'Disjunction'. + * @generated + */ + Disjunction createDisjunction(); + + /** + * Returns a new object of class 'Switch'. + * + * + * @return a new object of class 'Switch'. + * @generated + */ + Switch createSwitch(); + + /** + * Returns a new object of class 'Conjunction'. + * + * + * @return a new object of class 'Conjunction'. + * @generated + */ + Conjunction createConjunction(); + + /** + * Returns a new object of class 'Comparison'. + * + * + * @return a new object of class 'Comparison'. + * @generated + */ + Comparison createComparison(); + + /** + * Returns a new object of class 'Binary Expression'. + * + * + * @return a new object of class 'Binary Expression'. + * @generated + */ + BinaryExpression createBinaryExpression(); + + /** + * Returns a new object of class 'Cast Expression'. + * + * + * @return a new object of class 'Cast Expression'. + * @generated + */ + CastExpression createCastExpression(); + + /** + * Returns a new object of class 'Unary Expression'. + * + * + * @return a new object of class 'Unary Expression'. + * @generated + */ + UnaryExpression createUnaryExpression(); + + /** + * Returns a new object of class 'Node'. + * + * + * @return a new object of class 'Node'. + * @generated + */ + Node createNode(); + + /** + * Returns a new object of class 'Predicate'. + * + * + * @return a new object of class 'Predicate'. + * @generated + */ + Predicate createPredicate(); + + /** + * Returns a new object of class 'Metric'. + * + * + * @return a new object of class 'Metric'. + * @generated + */ + Metric createMetric(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + SolverLanguagePackage getSolverLanguagePackage(); + +} //SolverLanguageFactory diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java new file mode 100644 index 00000000..9e01d8db --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java @@ -0,0 +1,5191 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory + * @model kind="package" + * @generated + */ +public interface SolverLanguagePackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "solverLanguage"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.eclipse.org/viatra/solver/language/SolverLanguage"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "solverLanguage"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + SolverLanguagePackage eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl Problem}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem() + * @generated + */ + int PROBLEM = 0; + + /** + * The feature id for the 'Statements' containment reference list. + * + * + * @generated + * @ordered + */ + int PROBLEM__STATEMENTS = 0; + + /** + * The number of structural features of the 'Problem' class. + * + * + * @generated + * @ordered + */ + int PROBLEM_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl Statement}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement() + * @generated + */ + int STATEMENT = 1; + + /** + * The number of structural features of the 'Statement' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl Predicate Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() + * @generated + */ + int PREDICATE_DEFINITION = 2; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Functional' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Error' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Predicate Definition' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl Unnamed Error Prediate Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition() + * @generated + */ + int UNNAMED_ERROR_PREDIATE_DEFINITION = 3; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Unnamed Error Prediate Definition' class. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl Default Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() + * @generated + */ + int DEFAULT_DEFINITION = 4; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Range' containment reference. + * + * + * @generated + * @ordered + */ + int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Default Definition' class. + * + * + * @generated + * @ordered + */ + int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl Metric Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() + * @generated + */ + int METRIC_DEFINITION = 5; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Metric Definition' class. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl Extern Predicate Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() + * @generated + */ + int EXTERN_PREDICATE_DEFINITION = 6; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Extern Predicate Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl Extern Metric Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition() + * @generated + */ + int EXTERN_METRIC_DEFINITION = 7; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Extern Metric Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl Extern Aggregator Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregatorDefinition() + * @generated + */ + int EXTERN_AGGREGATOR_DEFINITION = 8; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Input Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Extern Aggregator Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl Extern Datatype Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDefinition() + * @generated + */ + int EXTERN_DATATYPE_DEFINITION = 9; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Supertypes' reference list. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DEFINITION__SUPERTYPES = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Extern Datatype Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl Named Element}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement() + * @generated + */ + int NAMED_ELEMENT = 10; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int NAMED_ELEMENT__NAME = 0; + + /** + * The number of structural features of the 'Named Element' class. + * + * + * @generated + * @ordered + */ + int NAMED_ELEMENT_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() + * @generated + */ + int EXPRESSION = 11; + + /** + * The number of structural features of the 'Expression' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl If Else}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() + * @generated + */ + int IF_ELSE = 12; + + /** + * The feature id for the 'Then' containment reference. + * + * + * @generated + * @ordered + */ + int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Else' containment reference. + * + * + * @generated + * @ordered + */ + int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'If Else' class. + * + * + * @generated + * @ordered + */ + int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl Let}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLet() + * @generated + */ + int LET = 13; + + /** + * The feature id for the 'Bindings' containment reference list. + * + * + * @generated + * @ordered + */ + int LET__BINDINGS = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int LET__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Let' class. + * + * + * @generated + * @ordered + */ + int LET_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl Let Binding}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetBinding() + * @generated + */ + int LET_BINDING = 14; + + /** + * The feature id for the 'Variable' containment reference. + * + * + * @generated + * @ordered + */ + int LET_BINDING__VARIABLE = 0; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int LET_BINDING__VALUE = 1; + + /** + * The number of structural features of the 'Let Binding' class. + * + * + * @generated + * @ordered + */ + int LET_BINDING_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl Case}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() + * @generated + */ + int CASE = 15; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int CASE__BODY = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Case' class. + * + * + * @generated + * @ordered + */ + int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl Local Variables}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLocalVariables() + * @generated + */ + int LOCAL_VARIABLES = 16; + + /** + * The feature id for the 'Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int LOCAL_VARIABLES__VARIABLES = 0; + + /** + * The number of structural features of the 'Local Variables' class. + * + * + * @generated + * @ordered + */ + int LOCAL_VARIABLES_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl Quantified Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifiedExpression() + * @generated + */ + int QUANTIFIED_EXPRESSION = 17; + + /** + * The feature id for the 'Local Variables' containment reference. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION__LOCAL_VARIABLES = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Quantifier' attribute. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION__QUANTIFIER = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Quantified Expression' class. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl Aggregation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() + * @generated + */ + int AGGREGATION = 18; + + /** + * The feature id for the 'Op' reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Local Variables' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__LOCAL_VARIABLES = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Aggregation' class. + * + * + * @generated + * @ordered + */ + int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl Call}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall() + * @generated + */ + int CALL = 19; + + /** + * The feature id for the 'Functor' containment reference. + * + * + * @generated + * @ordered + */ + int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Transitive Closure' attribute. + * + * + * @generated + * @ordered + */ + int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Reflexive Transitive Closure' attribute. + * + * + * @generated + * @ordered + */ + int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Call' class. + * + * + * @generated + * @ordered + */ + int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl Argument List}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList() + * @generated + */ + int ARGUMENT_LIST = 20; + + /** + * The feature id for the 'Arguments' containment reference list. + * + * + * @generated + * @ordered + */ + int ARGUMENT_LIST__ARGUMENTS = 0; + + /** + * The number of structural features of the 'Argument List' class. + * + * + * @generated + * @ordered + */ + int ARGUMENT_LIST_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument() + * @generated + */ + int ARGUMENT = 21; + + /** + * The number of structural features of the 'Argument' class. + * + * + * @generated + * @ordered + */ + int ARGUMENT_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl Expression Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument() + * @generated + */ + int EXPRESSION_ARGUMENT = 22; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Expression Argument' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl Star Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() + * @generated + */ + int STAR_ARGUMENT = 23; + + /** + * The number of structural features of the 'Star Argument' class. + * + * + * @generated + * @ordered + */ + int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl Typed Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument() + * @generated + */ + int TYPED_ARGUMENT = 24; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Variable' reference. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Typed Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl Typed Star Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() + * @generated + */ + int TYPED_STAR_ARGUMENT = 25; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Typed Star Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl Reference}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() + * @generated + */ + int REFERENCE = 26; + + /** + * The feature id for the 'Referred' reference. + * + * + * @generated + * @ordered + */ + int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Reference' class. + * + * + * @generated + * @ordered + */ + int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl Interval}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() + * @generated + */ + int INTERVAL = 27; + + /** + * The feature id for the 'Lower Bound' containment reference. + * + * + * @generated + * @ordered + */ + int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Upper Bound' containment reference. + * + * + * @generated + * @ordered + */ + int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Interval' class. + * + * + * @generated + * @ordered + */ + int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() + * @generated + */ + int LITERAL = 28; + + /** + * The number of structural features of the 'Literal' class. + * + * + * @generated + * @ordered + */ + int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl Logic Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() + * @generated + */ + int LOGIC_LITERAL = 29; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Logic Literal' class. + * + * + * @generated + * @ordered + */ + int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl Numeric Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral() + * @generated + */ + int NUMERIC_LITERAL = 30; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Numeric Literal' class. + * + * + * @generated + * @ordered + */ + int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl Infinity Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral() + * @generated + */ + int INFINITY_LITERAL = 31; + + /** + * The number of structural features of the 'Infinity Literal' class. + * + * + * @generated + * @ordered + */ + int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl Empty Interval Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral() + * @generated + */ + int EMPTY_INTERVAL_LITERAL = 32; + + /** + * The number of structural features of the 'Empty Interval Literal' class. + * + * + * @generated + * @ordered + */ + int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl String Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral() + * @generated + */ + int STRING_LITERAL = 33; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'String Literal' class. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl Class Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() + * @generated + */ + int CLASS_DEFINITION = 34; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Class Definition' class. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl Member Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition() + * @generated + */ + int MEMBER_DEFINITION = 35; + + /** + * The feature id for the 'Containment' attribute. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__CONTAINMENT = 0; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__TYPE = 1; + + /** + * The feature id for the 'Multiplicity' containment reference. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__MULTIPLICITY = 2; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__NAME = 3; + + /** + * The feature id for the 'Opposite' reference. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__OPPOSITE = 4; + + /** + * The number of structural features of the 'Member Definition' class. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION_FEATURE_COUNT = 5; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity() + * @generated + */ + int MULTIPLICITY = 36; + + /** + * The number of structural features of the 'Multiplicity' class. + * + * + * @generated + * @ordered + */ + int MULTIPLICITY_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() + * @generated + */ + int MANY_MULTIPLICITY = 37; + + /** + * The number of structural features of the 'Many Multiplicity' class. + * + * + * @generated + * @ordered + */ + int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() + * @generated + */ + int EXACT_MULTIPLICITY = 38; + + /** + * The feature id for the 'Multiplicity' attribute. + * + * + * @generated + * @ordered + */ + int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Exact Multiplicity' class. + * + * + * @generated + * @ordered + */ + int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() + * @generated + */ + int BOUNDED_MULTIPLICITY = 39; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Upper Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Bounded Multiplicity' class. + * + * + * @generated + * @ordered + */ + int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition() + * @generated + */ + int SCOPE_DEFINITION = 40; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Scope Definition' class. + * + * + * @generated + * @ordered + */ + int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl Exact Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition() + * @generated + */ + int EXACT_SCOPE_DEFINITION = 41; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + + /** + * The feature id for the 'Exact Scope' attribute. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Exact Scope Definition' class. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl Bounded Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition() + * @generated + */ + int BOUNDED_SCOPE_DEFINITION = 42; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Upper Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Bounded Scope Definition' class. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl Lower Bounded Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition() + * @generated + */ + int LOWER_BOUNDED_SCOPE_DEFINITION = 43; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Lower Bounded Scope Definition' class. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl Objective Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition() + * @generated + */ + int OBJECTIVE_DEFINITION = 44; + + /** + * The feature id for the 'Kind' attribute. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Objective' containment reference. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Objective Definition' class. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl Interpretation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation() + * @generated + */ + int INTERPRETATION = 45; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int INTERPRETATION__BODY = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Range' containment reference. + * + * + * @generated + * @ordered + */ + int INTERPRETATION__RANGE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Interpretation' class. + * + * + * @generated + * @ordered + */ + int INTERPRETATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl Variable}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() + * @generated + */ + int VARIABLE = 46; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE__NAME = NAMED_ELEMENT__NAME; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int VARIABLE__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Variable' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl Disjunction}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction() + * @generated + */ + int DISJUNCTION = 47; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Disjunction' class. + * + * + * @generated + * @ordered + */ + int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl Switch}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch() + * @generated + */ + int SWITCH = 48; + + /** + * The feature id for the 'Cases' containment reference list. + * + * + * @generated + * @ordered + */ + int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Switch' class. + * + * + * @generated + * @ordered + */ + int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl Conjunction}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction() + * @generated + */ + int CONJUNCTION = 49; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Conjunction' class. + * + * + * @generated + * @ordered + */ + int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl Comparison}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison() + * @generated + */ + int COMPARISON = 50; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Comparison' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl Binary Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression() + * @generated + */ + int BINARY_EXPRESSION = 51; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Binary Expression' class. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl Cast Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCastExpression() + * @generated + */ + int CAST_EXPRESSION = 52; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION__TYPE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Cast Expression' class. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl Unary Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() + * @generated + */ + int UNARY_EXPRESSION = 53; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Unary Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl Node}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNode() + * @generated + */ + int NODE = 54; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int NODE__NAME = NAMED_ELEMENT__NAME; + + /** + * The feature id for the 'With Id' attribute. + * + * + * @generated + * @ordered + */ + int NODE__WITH_ID = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Node' class. + * + * + * @generated + * @ordered + */ + int NODE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl Functor}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctor() + * @generated + */ + int FUNCTOR = 55; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int FUNCTOR__NAME = NAMED_ELEMENT__NAME; + + /** + * The feature id for the 'Parameters' reference list. + * + * + * @generated + * @ordered + */ + int FUNCTOR__PARAMETERS = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Functor' class. + * + * + * @generated + * @ordered + */ + int FUNCTOR_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl Predicate}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate() + * @generated + */ + int PREDICATE = 56; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE__NAME = FUNCTOR__NAME; + + /** + * The feature id for the 'Parameters' reference list. + * + * + * @generated + * @ordered + */ + int PREDICATE__PARAMETERS = FUNCTOR__PARAMETERS; + + /** + * The number of structural features of the 'Predicate' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl Metric}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetric() + * @generated + */ + int METRIC = 57; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int METRIC__NAME = FUNCTOR__NAME; + + /** + * The feature id for the 'Parameters' reference list. + * + * + * @generated + * @ordered + */ + int METRIC__PARAMETERS = FUNCTOR__PARAMETERS; + + /** + * The feature id for the 'Return Type' reference. + * + * + * @generated + * @ordered + */ + int METRIC__RETURN_TYPE = FUNCTOR_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Metric' class. + * + * + * @generated + * @ordered + */ + int METRIC_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator Binary Operator}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator() + * @generated + */ + int BINARY_OPERATOR = 58; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp Unary Op}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp() + * @generated + */ + int UNARY_OP = 59; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue Logic Value}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue() + * @generated + */ + int LOGIC_VALUE = 60; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind Objective Kind}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind() + * @generated + */ + int OBJECTIVE_KIND = 61; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier Quantifier}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifier() + * @generated + */ + int QUANTIFIER = 62; + + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem Problem}'. + * + * + * @return the meta object for class 'Problem'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem + * @generated + */ + EClass getProblem(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements Statements}'. + * + * + * @return the meta object for the containment reference list 'Statements'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements() + * @see #getProblem() + * @generated + */ + EReference getProblem_Statements(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement Statement}'. + * + * + * @return the meta object for class 'Statement'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Statement + * @generated + */ + EClass getStatement(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition Predicate Definition}'. + * + * + * @return the meta object for class 'Predicate Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition + * @generated + */ + EClass getPredicateDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead() + * @see #getPredicateDefinition() + * @generated + */ + EReference getPredicateDefinition_Head(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody() + * @see #getPredicateDefinition() + * @generated + */ + EReference getPredicateDefinition_Body(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional Functional}'. + * + * + * @return the meta object for the attribute 'Functional'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional() + * @see #getPredicateDefinition() + * @generated + */ + EAttribute getPredicateDefinition_Functional(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError Error}'. + * + * + * @return the meta object for the attribute 'Error'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError() + * @see #getPredicateDefinition() + * @generated + */ + EAttribute getPredicateDefinition_Error(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition Unnamed Error Prediate Definition}'. + * + * + * @return the meta object for class 'Unnamed Error Prediate Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition + * @generated + */ + EClass getUnnamedErrorPrediateDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList() + * @see #getUnnamedErrorPrediateDefinition() + * @generated + */ + EReference getUnnamedErrorPrediateDefinition_ArgumentList(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody() + * @see #getUnnamedErrorPrediateDefinition() + * @generated + */ + EReference getUnnamedErrorPrediateDefinition_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition Default Definition}'. + * + * + * @return the meta object for class 'Default Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition + * @generated + */ + EClass getDefaultDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead() + * @see #getDefaultDefinition() + * @generated + */ + EReference getDefaultDefinition_Head(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange Range}'. + * + * + * @return the meta object for the containment reference 'Range'. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange() + * @see #getDefaultDefinition() + * @generated + */ + EReference getDefaultDefinition_Range(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition Metric Definition}'. + * + * + * @return the meta object for class 'Metric Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition + * @generated + */ + EClass getMetricDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead() + * @see #getMetricDefinition() + * @generated + */ + EReference getMetricDefinition_Head(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody() + * @see #getMetricDefinition() + * @generated + */ + EReference getMetricDefinition_Body(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType() + * @see #getMetricDefinition() + * @generated + */ + EReference getMetricDefinition_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition Extern Predicate Definition}'. + * + * + * @return the meta object for class 'Extern Predicate Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition + * @generated + */ + EClass getExternPredicateDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName() + * @see #getExternPredicateDefinition() + * @generated + */ + EAttribute getExternPredicateDefinition_Name(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList() + * @see #getExternPredicateDefinition() + * @generated + */ + EReference getExternPredicateDefinition_ArgumentList(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition Extern Metric Definition}'. + * + * + * @return the meta object for class 'Extern Metric Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition + * @generated + */ + EClass getExternMetricDefinition(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType() + * @see #getExternMetricDefinition() + * @generated + */ + EReference getExternMetricDefinition_Type(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName() + * @see #getExternMetricDefinition() + * @generated + */ + EAttribute getExternMetricDefinition_Name(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList() + * @see #getExternMetricDefinition() + * @generated + */ + EReference getExternMetricDefinition_ArgumentList(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition Extern Aggregator Definition}'. + * + * + * @return the meta object for class 'Extern Aggregator Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition + * @generated + */ + EClass getExternAggregatorDefinition(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType() + * @see #getExternAggregatorDefinition() + * @generated + */ + EReference getExternAggregatorDefinition_Type(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName() + * @see #getExternAggregatorDefinition() + * @generated + */ + EAttribute getExternAggregatorDefinition_Name(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType Input Type}'. + * + * + * @return the meta object for the reference 'Input Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType() + * @see #getExternAggregatorDefinition() + * @generated + */ + EReference getExternAggregatorDefinition_InputType(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition Extern Datatype Definition}'. + * + * + * @return the meta object for class 'Extern Datatype Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition + * @generated + */ + EClass getExternDatatypeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName() + * @see #getExternDatatypeDefinition() + * @generated + */ + EAttribute getExternDatatypeDefinition_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes Supertypes}'. + * + * + * @return the meta object for the reference list 'Supertypes'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes() + * @see #getExternDatatypeDefinition() + * @generated + */ + EReference getExternDatatypeDefinition_Supertypes(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement Named Element}'. + * + * + * @return the meta object for class 'Named Element'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement + * @generated + */ + EClass getNamedElement(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName() + * @see #getNamedElement() + * @generated + */ + EAttribute getNamedElement_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression Expression}'. + * + * + * @return the meta object for class 'Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Expression + * @generated + */ + EClass getExpression(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse If Else}'. + * + * + * @return the meta object for class 'If Else'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse + * @generated + */ + EClass getIfElse(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen Then}'. + * + * + * @return the meta object for the containment reference 'Then'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen() + * @see #getIfElse() + * @generated + */ + EReference getIfElse_Then(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse Else}'. + * + * + * @return the meta object for the containment reference 'Else'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse() + * @see #getIfElse() + * @generated + */ + EReference getIfElse_Else(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition() + * @see #getIfElse() + * @generated + */ + EReference getIfElse_Condition(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Let Let}'. + * + * + * @return the meta object for class 'Let'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Let + * @generated + */ + EClass getLet(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings Bindings}'. + * + * + * @return the meta object for the containment reference list 'Bindings'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings() + * @see #getLet() + * @generated + */ + EReference getLet_Bindings(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Let#getBody() + * @see #getLet() + * @generated + */ + EReference getLet_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding Let Binding}'. + * + * + * @return the meta object for class 'Let Binding'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding + * @generated + */ + EClass getLetBinding(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable Variable}'. + * + * + * @return the meta object for the containment reference 'Variable'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable() + * @see #getLetBinding() + * @generated + */ + EReference getLetBinding_Variable(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue() + * @see #getLetBinding() + * @generated + */ + EReference getLetBinding_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case Case}'. + * + * + * @return the meta object for class 'Case'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Case + * @generated + */ + EClass getCase(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getBody() + * @see #getCase() + * @generated + */ + EReference getCase_Body(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition() + * @see #getCase() + * @generated + */ + EReference getCase_Condition(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables Local Variables}'. + * + * + * @return the meta object for class 'Local Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables + * @generated + */ + EClass getLocalVariables(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables Variables}'. + * + * + * @return the meta object for the containment reference list 'Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables() + * @see #getLocalVariables() + * @generated + */ + EReference getLocalVariables_Variables(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression Quantified Expression}'. + * + * + * @return the meta object for class 'Quantified Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression + * @generated + */ + EClass getQuantifiedExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables Local Variables}'. + * + * + * @return the meta object for the containment reference 'Local Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables() + * @see #getQuantifiedExpression() + * @generated + */ + EReference getQuantifiedExpression_LocalVariables(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody() + * @see #getQuantifiedExpression() + * @generated + */ + EReference getQuantifiedExpression_Body(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier Quantifier}'. + * + * + * @return the meta object for the attribute 'Quantifier'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier() + * @see #getQuantifiedExpression() + * @generated + */ + EAttribute getQuantifiedExpression_Quantifier(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation Aggregation}'. + * + * + * @return the meta object for class 'Aggregation'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation + * @generated + */ + EClass getAggregation(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}'. + * + * + * @return the meta object for the reference 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables Local Variables}'. + * + * + * @return the meta object for the containment reference 'Local Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_LocalVariables(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_Body(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_Condition(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call Call}'. + * + * + * @return the meta object for class 'Call'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call + * @generated + */ + EClass getCall(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor Functor}'. + * + * + * @return the meta object for the containment reference 'Functor'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor() + * @see #getCall() + * @generated + */ + EReference getCall_Functor(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}'. + * + * + * @return the meta object for the attribute 'Transitive Closure'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure() + * @see #getCall() + * @generated + */ + EAttribute getCall_TransitiveClosure(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}'. + * + * + * @return the meta object for the attribute 'Reflexive Transitive Closure'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure() + * @see #getCall() + * @generated + */ + EAttribute getCall_ReflexiveTransitiveClosure(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList() + * @see #getCall() + * @generated + */ + EReference getCall_ArgumentList(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList Argument List}'. + * + * + * @return the meta object for class 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList + * @generated + */ + EClass getArgumentList(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments Arguments}'. + * + * + * @return the meta object for the containment reference list 'Arguments'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments() + * @see #getArgumentList() + * @generated + */ + EReference getArgumentList_Arguments(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument Argument}'. + * + * + * @return the meta object for class 'Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Argument + * @generated + */ + EClass getArgument(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument Expression Argument}'. + * + * + * @return the meta object for class 'Expression Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument + * @generated + */ + EClass getExpressionArgument(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody() + * @see #getExpressionArgument() + * @generated + */ + EReference getExpressionArgument_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument Star Argument}'. + * + * + * @return the meta object for class 'Star Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument + * @generated + */ + EClass getStarArgument(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument Typed Argument}'. + * + * + * @return the meta object for class 'Typed Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument + * @generated + */ + EClass getTypedArgument(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType() + * @see #getTypedArgument() + * @generated + */ + EReference getTypedArgument_Type(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable Variable}'. + * + * + * @return the meta object for the reference 'Variable'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable() + * @see #getTypedArgument() + * @generated + */ + EReference getTypedArgument_Variable(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument Typed Star Argument}'. + * + * + * @return the meta object for class 'Typed Star Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument + * @generated + */ + EClass getTypedStarArgument(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType() + * @see #getTypedStarArgument() + * @generated + */ + EReference getTypedStarArgument_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference Reference}'. + * + * + * @return the meta object for class 'Reference'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Reference + * @generated + */ + EClass getReference(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred Referred}'. + * + * + * @return the meta object for the reference 'Referred'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred() + * @see #getReference() + * @generated + */ + EReference getReference_Referred(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval Interval}'. + * + * + * @return the meta object for class 'Interval'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval + * @generated + */ + EClass getInterval(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the containment reference 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound() + * @see #getInterval() + * @generated + */ + EReference getInterval_LowerBound(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound Upper Bound}'. + * + * + * @return the meta object for the containment reference 'Upper Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound() + * @see #getInterval() + * @generated + */ + EReference getInterval_UpperBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal Literal}'. + * + * + * @return the meta object for class 'Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Literal + * @generated + */ + EClass getLiteral(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral Logic Literal}'. + * + * + * @return the meta object for class 'Logic Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral + * @generated + */ + EClass getLogicLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue() + * @see #getLogicLiteral() + * @generated + */ + EAttribute getLogicLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral Numeric Literal}'. + * + * + * @return the meta object for class 'Numeric Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral + * @generated + */ + EClass getNumericLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue() + * @see #getNumericLiteral() + * @generated + */ + EAttribute getNumericLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral Infinity Literal}'. + * + * + * @return the meta object for class 'Infinity Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral + * @generated + */ + EClass getInfinityLiteral(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral Empty Interval Literal}'. + * + * + * @return the meta object for class 'Empty Interval Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral + * @generated + */ + EClass getEmptyIntervalLiteral(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral String Literal}'. + * + * + * @return the meta object for class 'String Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral + * @generated + */ + EClass getStringLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue() + * @see #getStringLiteral() + * @generated + */ + EAttribute getStringLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition Class Definition}'. + * + * + * @return the meta object for class 'Class Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition + * @generated + */ + EClass getClassDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}'. + * + * + * @return the meta object for the attribute 'Abstract'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract() + * @see #getClassDefinition() + * @generated + */ + EAttribute getClassDefinition_Abstract(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName() + * @see #getClassDefinition() + * @generated + */ + EAttribute getClassDefinition_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}'. + * + * + * @return the meta object for the reference list 'Superclasses'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses() + * @see #getClassDefinition() + * @generated + */ + EReference getClassDefinition_Superclasses(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}'. + * + * + * @return the meta object for the containment reference list 'Members'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers() + * @see #getClassDefinition() + * @generated + */ + EReference getClassDefinition_Members(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition Member Definition}'. + * + * + * @return the meta object for class 'Member Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition + * @generated + */ + EClass getMemberDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment Containment}'. + * + * + * @return the meta object for the attribute 'Containment'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment() + * @see #getMemberDefinition() + * @generated + */ + EAttribute getMemberDefinition_Containment(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType() + * @see #getMemberDefinition() + * @generated + */ + EReference getMemberDefinition_Type(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity Multiplicity}'. + * + * + * @return the meta object for the containment reference 'Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity() + * @see #getMemberDefinition() + * @generated + */ + EReference getMemberDefinition_Multiplicity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName() + * @see #getMemberDefinition() + * @generated + */ + EAttribute getMemberDefinition_Name(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite Opposite}'. + * + * + * @return the meta object for the reference 'Opposite'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite() + * @see #getMemberDefinition() + * @generated + */ + EReference getMemberDefinition_Opposite(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity Multiplicity}'. + * + * + * @return the meta object for class 'Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity + * @generated + */ + EClass getMultiplicity(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity Many Multiplicity}'. + * + * + * @return the meta object for class 'Many Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity + * @generated + */ + EClass getManyMultiplicity(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity Exact Multiplicity}'. + * + * + * @return the meta object for class 'Exact Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity + * @generated + */ + EClass getExactMultiplicity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity Multiplicity}'. + * + * + * @return the meta object for the attribute 'Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity() + * @see #getExactMultiplicity() + * @generated + */ + EAttribute getExactMultiplicity_Multiplicity(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity Bounded Multiplicity}'. + * + * + * @return the meta object for class 'Bounded Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity + * @generated + */ + EClass getBoundedMultiplicity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound() + * @see #getBoundedMultiplicity() + * @generated + */ + EAttribute getBoundedMultiplicity_LowerBound(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound Upper Bound}'. + * + * + * @return the meta object for the attribute 'Upper Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound() + * @see #getBoundedMultiplicity() + * @generated + */ + EAttribute getBoundedMultiplicity_UpperBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition Scope Definition}'. + * + * + * @return the meta object for class 'Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition + * @generated + */ + EClass getScopeDefinition(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType() + * @see #getScopeDefinition() + * @generated + */ + EReference getScopeDefinition_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition Exact Scope Definition}'. + * + * + * @return the meta object for class 'Exact Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition + * @generated + */ + EClass getExactScopeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope Exact Scope}'. + * + * + * @return the meta object for the attribute 'Exact Scope'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope() + * @see #getExactScopeDefinition() + * @generated + */ + EAttribute getExactScopeDefinition_ExactScope(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition Bounded Scope Definition}'. + * + * + * @return the meta object for class 'Bounded Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition + * @generated + */ + EClass getBoundedScopeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound() + * @see #getBoundedScopeDefinition() + * @generated + */ + EAttribute getBoundedScopeDefinition_LowerBound(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound Upper Bound}'. + * + * + * @return the meta object for the attribute 'Upper Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound() + * @see #getBoundedScopeDefinition() + * @generated + */ + EAttribute getBoundedScopeDefinition_UpperBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition Lower Bounded Scope Definition}'. + * + * + * @return the meta object for class 'Lower Bounded Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition + * @generated + */ + EClass getLowerBoundedScopeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound() + * @see #getLowerBoundedScopeDefinition() + * @generated + */ + EAttribute getLowerBoundedScopeDefinition_LowerBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition Objective Definition}'. + * + * + * @return the meta object for class 'Objective Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition + * @generated + */ + EClass getObjectiveDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind Kind}'. + * + * + * @return the meta object for the attribute 'Kind'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind() + * @see #getObjectiveDefinition() + * @generated + */ + EAttribute getObjectiveDefinition_Kind(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective Objective}'. + * + * + * @return the meta object for the containment reference 'Objective'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective() + * @see #getObjectiveDefinition() + * @generated + */ + EReference getObjectiveDefinition_Objective(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation Interpretation}'. + * + * + * @return the meta object for class 'Interpretation'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation + * @generated + */ + EClass getInterpretation(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody() + * @see #getInterpretation() + * @generated + */ + EReference getInterpretation_Body(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange Range}'. + * + * + * @return the meta object for the containment reference 'Range'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange() + * @see #getInterpretation() + * @generated + */ + EReference getInterpretation_Range(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable Variable}'. + * + * + * @return the meta object for class 'Variable'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Variable + * @generated + */ + EClass getVariable(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getType() + * @see #getVariable() + * @generated + */ + EReference getVariable_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction Disjunction}'. + * + * + * @return the meta object for class 'Disjunction'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction + * @generated + */ + EClass getDisjunction(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren Children}'. + * + * + * @return the meta object for the containment reference list 'Children'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren() + * @see #getDisjunction() + * @generated + */ + EReference getDisjunction_Children(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch Switch}'. + * + * + * @return the meta object for class 'Switch'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Switch + * @generated + */ + EClass getSwitch(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases Cases}'. + * + * + * @return the meta object for the containment reference list 'Cases'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases() + * @see #getSwitch() + * @generated + */ + EReference getSwitch_Cases(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction Conjunction}'. + * + * + * @return the meta object for class 'Conjunction'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction + * @generated + */ + EClass getConjunction(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren Children}'. + * + * + * @return the meta object for the containment reference list 'Children'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren() + * @see #getConjunction() + * @generated + */ + EReference getConjunction_Children(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison Comparison}'. + * + * + * @return the meta object for class 'Comparison'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison + * @generated + */ + EClass getComparison(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft() + * @see #getComparison() + * @generated + */ + EReference getComparison_Left(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp Op}'. + * + * + * @return the meta object for the attribute 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp() + * @see #getComparison() + * @generated + */ + EAttribute getComparison_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight() + * @see #getComparison() + * @generated + */ + EReference getComparison_Right(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression Binary Expression}'. + * + * + * @return the meta object for class 'Binary Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression + * @generated + */ + EClass getBinaryExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft() + * @see #getBinaryExpression() + * @generated + */ + EReference getBinaryExpression_Left(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp Op}'. + * + * + * @return the meta object for the attribute 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp() + * @see #getBinaryExpression() + * @generated + */ + EAttribute getBinaryExpression_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight() + * @see #getBinaryExpression() + * @generated + */ + EReference getBinaryExpression_Right(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression Cast Expression}'. + * + * + * @return the meta object for class 'Cast Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression + * @generated + */ + EClass getCastExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody() + * @see #getCastExpression() + * @generated + */ + EReference getCastExpression_Body(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType() + * @see #getCastExpression() + * @generated + */ + EReference getCastExpression_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression Unary Expression}'. + * + * + * @return the meta object for class 'Unary Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression + * @generated + */ + EClass getUnaryExpression(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp Op}'. + * + * + * @return the meta object for the attribute 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp() + * @see #getUnaryExpression() + * @generated + */ + EAttribute getUnaryExpression_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody() + * @see #getUnaryExpression() + * @generated + */ + EReference getUnaryExpression_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Node Node}'. + * + * + * @return the meta object for class 'Node'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Node + * @generated + */ + EClass getNode(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId With Id}'. + * + * + * @return the meta object for the attribute 'With Id'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId() + * @see #getNode() + * @generated + */ + EAttribute getNode_WithId(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor Functor}'. + * + * + * @return the meta object for class 'Functor'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Functor + * @generated + */ + EClass getFunctor(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters Parameters}'. + * + * + * @return the meta object for the reference list 'Parameters'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters() + * @see #getFunctor() + * @generated + */ + EReference getFunctor_Parameters(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate Predicate}'. + * + * + * @return the meta object for class 'Predicate'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate + * @generated + */ + EClass getPredicate(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric Metric}'. + * + * + * @return the meta object for class 'Metric'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Metric + * @generated + */ + EClass getMetric(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType Return Type}'. + * + * + * @return the meta object for the reference 'Return Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType() + * @see #getMetric() + * @generated + */ + EReference getMetric_ReturnType(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator Binary Operator}'. + * + * + * @return the meta object for enum 'Binary Operator'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @generated + */ + EEnum getBinaryOperator(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp Unary Op}'. + * + * + * @return the meta object for enum 'Unary Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @generated + */ + EEnum getUnaryOp(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue Logic Value}'. + * + * + * @return the meta object for enum 'Logic Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @generated + */ + EEnum getLogicValue(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind Objective Kind}'. + * + * + * @return the meta object for enum 'Objective Kind'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @generated + */ + EEnum getObjectiveKind(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier Quantifier}'. + * + * + * @return the meta object for enum 'Quantifier'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @generated + */ + EEnum getQuantifier(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + SolverLanguageFactory getSolverLanguageFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl Problem}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem() + * @generated + */ + EClass PROBLEM = eINSTANCE.getProblem(); + + /** + * The meta object literal for the 'Statements' containment reference list feature. + * + * + * @generated + */ + EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl Statement}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement() + * @generated + */ + EClass STATEMENT = eINSTANCE.getStatement(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl Predicate Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() + * @generated + */ + EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition(); + + /** + * The meta object literal for the 'Head' containment reference feature. + * + * + * @generated + */ + EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body(); + + /** + * The meta object literal for the 'Functional' attribute feature. + * + * + * @generated + */ + EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional(); + + /** + * The meta object literal for the 'Error' attribute feature. + * + * + * @generated + */ + EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl Unnamed Error Prediate Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition() + * @generated + */ + EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl Default Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() + * @generated + */ + EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition(); + + /** + * The meta object literal for the 'Head' containment reference feature. + * + * + * @generated + */ + EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head(); + + /** + * The meta object literal for the 'Range' containment reference feature. + * + * + * @generated + */ + EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl Metric Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() + * @generated + */ + EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition(); + + /** + * The meta object literal for the 'Head' containment reference feature. + * + * + * @generated + */ + EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl Extern Predicate Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() + * @generated + */ + EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_PREDICATE_DEFINITION__NAME = eINSTANCE.getExternPredicateDefinition_Name(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getExternPredicateDefinition_ArgumentList(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl Extern Metric Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition() + * @generated + */ + EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_METRIC_DEFINITION__NAME = eINSTANCE.getExternMetricDefinition_Name(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference EXTERN_METRIC_DEFINITION__ARGUMENT_LIST = eINSTANCE.getExternMetricDefinition_ArgumentList(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl Extern Aggregator Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregatorDefinition() + * @generated + */ + EClass EXTERN_AGGREGATOR_DEFINITION = eINSTANCE.getExternAggregatorDefinition(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_AGGREGATOR_DEFINITION__TYPE = eINSTANCE.getExternAggregatorDefinition_Type(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_AGGREGATOR_DEFINITION__NAME = eINSTANCE.getExternAggregatorDefinition_Name(); + + /** + * The meta object literal for the 'Input Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE = eINSTANCE.getExternAggregatorDefinition_InputType(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl Extern Datatype Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDefinition() + * @generated + */ + EClass EXTERN_DATATYPE_DEFINITION = eINSTANCE.getExternDatatypeDefinition(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_DATATYPE_DEFINITION__NAME = eINSTANCE.getExternDatatypeDefinition_Name(); + + /** + * The meta object literal for the 'Supertypes' reference list feature. + * + * + * @generated + */ + EReference EXTERN_DATATYPE_DEFINITION__SUPERTYPES = eINSTANCE.getExternDatatypeDefinition_Supertypes(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl Named Element}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement() + * @generated + */ + EClass NAMED_ELEMENT = eINSTANCE.getNamedElement(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() + * @generated + */ + EClass EXPRESSION = eINSTANCE.getExpression(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl If Else}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() + * @generated + */ + EClass IF_ELSE = eINSTANCE.getIfElse(); + + /** + * The meta object literal for the 'Then' containment reference feature. + * + * + * @generated + */ + EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then(); + + /** + * The meta object literal for the 'Else' containment reference feature. + * + * + * @generated + */ + EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl Let}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLet() + * @generated + */ + EClass LET = eINSTANCE.getLet(); + + /** + * The meta object literal for the 'Bindings' containment reference list feature. + * + * + * @generated + */ + EReference LET__BINDINGS = eINSTANCE.getLet_Bindings(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference LET__BODY = eINSTANCE.getLet_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl Let Binding}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetBinding() + * @generated + */ + EClass LET_BINDING = eINSTANCE.getLetBinding(); + + /** + * The meta object literal for the 'Variable' containment reference feature. + * + * + * @generated + */ + EReference LET_BINDING__VARIABLE = eINSTANCE.getLetBinding_Variable(); + + /** + * The meta object literal for the 'Value' containment reference feature. + * + * + * @generated + */ + EReference LET_BINDING__VALUE = eINSTANCE.getLetBinding_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl Case}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() + * @generated + */ + EClass CASE = eINSTANCE.getCase(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference CASE__BODY = eINSTANCE.getCase_Body(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference CASE__CONDITION = eINSTANCE.getCase_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl Local Variables}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLocalVariables() + * @generated + */ + EClass LOCAL_VARIABLES = eINSTANCE.getLocalVariables(); + + /** + * The meta object literal for the 'Variables' containment reference list feature. + * + * + * @generated + */ + EReference LOCAL_VARIABLES__VARIABLES = eINSTANCE.getLocalVariables_Variables(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl Quantified Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifiedExpression() + * @generated + */ + EClass QUANTIFIED_EXPRESSION = eINSTANCE.getQuantifiedExpression(); + + /** + * The meta object literal for the 'Local Variables' containment reference feature. + * + * + * @generated + */ + EReference QUANTIFIED_EXPRESSION__LOCAL_VARIABLES = eINSTANCE.getQuantifiedExpression_LocalVariables(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference QUANTIFIED_EXPRESSION__BODY = eINSTANCE.getQuantifiedExpression_Body(); + + /** + * The meta object literal for the 'Quantifier' attribute feature. + * + * + * @generated + */ + EAttribute QUANTIFIED_EXPRESSION__QUANTIFIER = eINSTANCE.getQuantifiedExpression_Quantifier(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl Aggregation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() + * @generated + */ + EClass AGGREGATION = eINSTANCE.getAggregation(); + + /** + * The meta object literal for the 'Op' reference feature. + * + * + * @generated + */ + EReference AGGREGATION__OP = eINSTANCE.getAggregation_Op(); + + /** + * The meta object literal for the 'Local Variables' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATION__LOCAL_VARIABLES = eINSTANCE.getAggregation_LocalVariables(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATION__BODY = eINSTANCE.getAggregation_Body(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATION__CONDITION = eINSTANCE.getAggregation_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl Call}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall() + * @generated + */ + EClass CALL = eINSTANCE.getCall(); + + /** + * The meta object literal for the 'Functor' containment reference feature. + * + * + * @generated + */ + EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor(); + + /** + * The meta object literal for the 'Transitive Closure' attribute feature. + * + * + * @generated + */ + EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure(); + + /** + * The meta object literal for the 'Reflexive Transitive Closure' attribute feature. + * + * + * @generated + */ + EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl Argument List}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList() + * @generated + */ + EClass ARGUMENT_LIST = eINSTANCE.getArgumentList(); + + /** + * The meta object literal for the 'Arguments' containment reference list feature. + * + * + * @generated + */ + EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument() + * @generated + */ + EClass ARGUMENT = eINSTANCE.getArgument(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl Expression Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument() + * @generated + */ + EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl Star Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() + * @generated + */ + EClass STAR_ARGUMENT = eINSTANCE.getStarArgument(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl Typed Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument() + * @generated + */ + EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type(); + + /** + * The meta object literal for the 'Variable' reference feature. + * + * + * @generated + */ + EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl Typed Star Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() + * @generated + */ + EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl Reference}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() + * @generated + */ + EClass REFERENCE = eINSTANCE.getReference(); + + /** + * The meta object literal for the 'Referred' reference feature. + * + * + * @generated + */ + EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl Interval}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() + * @generated + */ + EClass INTERVAL = eINSTANCE.getInterval(); + + /** + * The meta object literal for the 'Lower Bound' containment reference feature. + * + * + * @generated + */ + EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound(); + + /** + * The meta object literal for the 'Upper Bound' containment reference feature. + * + * + * @generated + */ + EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() + * @generated + */ + EClass LITERAL = eINSTANCE.getLiteral(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl Logic Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() + * @generated + */ + EClass LOGIC_LITERAL = eINSTANCE.getLogicLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute LOGIC_LITERAL__VALUE = eINSTANCE.getLogicLiteral_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl Numeric Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral() + * @generated + */ + EClass NUMERIC_LITERAL = eINSTANCE.getNumericLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute NUMERIC_LITERAL__VALUE = eINSTANCE.getNumericLiteral_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl Infinity Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral() + * @generated + */ + EClass INFINITY_LITERAL = eINSTANCE.getInfinityLiteral(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl Empty Interval Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral() + * @generated + */ + EClass EMPTY_INTERVAL_LITERAL = eINSTANCE.getEmptyIntervalLiteral(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl String Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral() + * @generated + */ + EClass STRING_LITERAL = eINSTANCE.getStringLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl Class Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() + * @generated + */ + EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition(); + + /** + * The meta object literal for the 'Abstract' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name(); + + /** + * The meta object literal for the 'Superclasses' reference list feature. + * + * + * @generated + */ + EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses(); + + /** + * The meta object literal for the 'Members' containment reference list feature. + * + * + * @generated + */ + EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl Member Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition() + * @generated + */ + EClass MEMBER_DEFINITION = eINSTANCE.getMemberDefinition(); + + /** + * The meta object literal for the 'Containment' attribute feature. + * + * + * @generated + */ + EAttribute MEMBER_DEFINITION__CONTAINMENT = eINSTANCE.getMemberDefinition_Containment(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference MEMBER_DEFINITION__TYPE = eINSTANCE.getMemberDefinition_Type(); + + /** + * The meta object literal for the 'Multiplicity' containment reference feature. + * + * + * @generated + */ + EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name(); + + /** + * The meta object literal for the 'Opposite' reference feature. + * + * + * @generated + */ + EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity() + * @generated + */ + EClass MULTIPLICITY = eINSTANCE.getMultiplicity(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() + * @generated + */ + EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() + * @generated + */ + EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity(); + + /** + * The meta object literal for the 'Multiplicity' attribute feature. + * + * + * @generated + */ + EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() + * @generated + */ + EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound(); + + /** + * The meta object literal for the 'Upper Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition() + * @generated + */ + EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl Exact Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition() + * @generated + */ + EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition(); + + /** + * The meta object literal for the 'Exact Scope' attribute feature. + * + * + * @generated + */ + EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl Bounded Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition() + * @generated + */ + EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound(); + + /** + * The meta object literal for the 'Upper Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl Lower Bounded Scope Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition() + * @generated + */ + EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl Objective Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition() + * @generated + */ + EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition(); + + /** + * The meta object literal for the 'Kind' attribute feature. + * + * + * @generated + */ + EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind(); + + /** + * The meta object literal for the 'Objective' containment reference feature. + * + * + * @generated + */ + EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl Interpretation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation() + * @generated + */ + EClass INTERPRETATION = eINSTANCE.getInterpretation(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference INTERPRETATION__BODY = eINSTANCE.getInterpretation_Body(); + + /** + * The meta object literal for the 'Range' containment reference feature. + * + * + * @generated + */ + EReference INTERPRETATION__RANGE = eINSTANCE.getInterpretation_Range(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl Variable}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() + * @generated + */ + EClass VARIABLE = eINSTANCE.getVariable(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference VARIABLE__TYPE = eINSTANCE.getVariable_Type(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl Disjunction}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction() + * @generated + */ + EClass DISJUNCTION = eINSTANCE.getDisjunction(); + + /** + * The meta object literal for the 'Children' containment reference list feature. + * + * + * @generated + */ + EReference DISJUNCTION__CHILDREN = eINSTANCE.getDisjunction_Children(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl Switch}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch() + * @generated + */ + EClass SWITCH = eINSTANCE.getSwitch(); + + /** + * The meta object literal for the 'Cases' containment reference list feature. + * + * + * @generated + */ + EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl Conjunction}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction() + * @generated + */ + EClass CONJUNCTION = eINSTANCE.getConjunction(); + + /** + * The meta object literal for the 'Children' containment reference list feature. + * + * + * @generated + */ + EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl Comparison}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison() + * @generated + */ + EClass COMPARISON = eINSTANCE.getComparison(); + + /** + * The meta object literal for the 'Left' containment reference feature. + * + * + * @generated + */ + EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op(); + + /** + * The meta object literal for the 'Right' containment reference feature. + * + * + * @generated + */ + EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl Binary Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression() + * @generated + */ + EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression(); + + /** + * The meta object literal for the 'Left' containment reference feature. + * + * + * @generated + */ + EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op(); + + /** + * The meta object literal for the 'Right' containment reference feature. + * + * + * @generated + */ + EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl Cast Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCastExpression() + * @generated + */ + EClass CAST_EXPRESSION = eINSTANCE.getCastExpression(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference CAST_EXPRESSION__BODY = eINSTANCE.getCastExpression_Body(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference CAST_EXPRESSION__TYPE = eINSTANCE.getCastExpression_Type(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl Unary Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() + * @generated + */ + EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl Node}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNode() + * @generated + */ + EClass NODE = eINSTANCE.getNode(); + + /** + * The meta object literal for the 'With Id' attribute feature. + * + * + * @generated + */ + EAttribute NODE__WITH_ID = eINSTANCE.getNode_WithId(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl Functor}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctor() + * @generated + */ + EClass FUNCTOR = eINSTANCE.getFunctor(); + + /** + * The meta object literal for the 'Parameters' reference list feature. + * + * + * @generated + */ + EReference FUNCTOR__PARAMETERS = eINSTANCE.getFunctor_Parameters(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl Predicate}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate() + * @generated + */ + EClass PREDICATE = eINSTANCE.getPredicate(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl Metric}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetric() + * @generated + */ + EClass METRIC = eINSTANCE.getMetric(); + + /** + * The meta object literal for the 'Return Type' reference feature. + * + * + * @generated + */ + EReference METRIC__RETURN_TYPE = eINSTANCE.getMetric_ReturnType(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator Binary Operator}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator() + * @generated + */ + EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp Unary Op}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp() + * @generated + */ + EEnum UNARY_OP = eINSTANCE.getUnaryOp(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue Logic Value}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue() + * @generated + */ + EEnum LOGIC_VALUE = eINSTANCE.getLogicValue(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind Objective Kind}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind() + * @generated + */ + EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier Quantifier}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifier() + * @generated + */ + EEnum QUANTIFIER = eINSTANCE.getQuantifier(); + + } + +} //SolverLanguagePackage diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java new file mode 100644 index 00000000..1abc7ea1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Star Argument'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStarArgument() + * @model + * @generated + */ +public interface StarArgument extends Argument { +} // StarArgument diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java new file mode 100644 index 00000000..2dd89f73 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Statement'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() + * @model + * @generated + */ +public interface Statement extends EObject { +} // Statement diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java new file mode 100644 index 00000000..7272e64a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'String Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral() + * @model + * @generated + */ +public interface StringLiteral extends Literal { + /** + * Returns the value of the 'Value' attribute. + * + * + * @return the value of the 'Value' attribute. + * @see #setValue(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral_Value() + * @model + * @generated + */ + String getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(String value); + +} // StringLiteral diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java new file mode 100644 index 00000000..fc181c0b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java @@ -0,0 +1,37 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Switch'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases Cases}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch() + * @model + * @generated + */ +public interface Switch extends Expression { + /** + * Returns the value of the 'Cases' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Case}. + * + * + * @return the value of the 'Cases' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch_Cases() + * @model containment="true" + * @generated + */ + EList getCases(); + +} // Switch diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java new file mode 100644 index 00000000..04744ad9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Typed Argument'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable Variable}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument() + * @model + * @generated + */ +public interface TypedArgument extends Argument { + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + + /** + * Returns the value of the 'Variable' reference. + * + * + * @return the value of the 'Variable' reference. + * @see #setVariable(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Variable() + * @model + * @generated + */ + NamedElement getVariable(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable Variable}' reference. + * + * + * @param value the new value of the 'Variable' reference. + * @see #getVariable() + * @generated + */ + void setVariable(NamedElement value); + +} // TypedArgument diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java new file mode 100644 index 00000000..53a18217 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Typed Star Argument'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument() + * @model + * @generated + */ +public interface TypedStarArgument extends Argument { + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // TypedStarArgument diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java new file mode 100644 index 00000000..c0a1ddc7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java @@ -0,0 +1,72 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Unary Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression() + * @model + * @generated + */ +public interface UnaryExpression extends Expression { + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see #setOp(UnaryOp) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Op() + * @model + * @generated + */ + UnaryOp getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp Op}' attribute. + * + * + * @param value the new value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see #getOp() + * @generated + */ + void setOp(UnaryOp value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // UnaryExpression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java new file mode 100644 index 00000000..fad289b1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java @@ -0,0 +1,302 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Unary Op', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryOp() + * @model + * @generated + */ +public enum UnaryOp implements Enumerator { + /** + * The 'NEG' literal object. + * + * + * @see #NEG_VALUE + * @generated + * @ordered + */ + NEG(0, "NEG", "!"), + + /** + * The 'PLUS' literal object. + * + * + * @see #PLUS_VALUE + * @generated + * @ordered + */ + PLUS(1, "PLUS", "+"), + + /** + * The 'MINUS' literal object. + * + * + * @see #MINUS_VALUE + * @generated + * @ordered + */ + MINUS(2, "MINUS", "-"), + + /** + * The 'MAY' literal object. + * + * + * @see #MAY_VALUE + * @generated + * @ordered + */ + MAY(3, "MAY", "may"), + + /** + * The 'MUST' literal object. + * + * + * @see #MUST_VALUE + * @generated + * @ordered + */ + MUST(4, "MUST", "must"), + + /** + * The 'CURRENT' literal object. + * + * + * @see #CURRENT_VALUE + * @generated + * @ordered + */ + CURRENT(5, "CURRENT", "current"); + + /** + * The 'NEG' literal value. + * + * + * @see #NEG + * @model literal="!" + * @generated + * @ordered + */ + public static final int NEG_VALUE = 0; + + /** + * The 'PLUS' literal value. + * + * + * @see #PLUS + * @model literal="+" + * @generated + * @ordered + */ + public static final int PLUS_VALUE = 1; + + /** + * The 'MINUS' literal value. + * + * + * @see #MINUS + * @model literal="-" + * @generated + * @ordered + */ + public static final int MINUS_VALUE = 2; + + /** + * The 'MAY' literal value. + * + * + * @see #MAY + * @model literal="may" + * @generated + * @ordered + */ + public static final int MAY_VALUE = 3; + + /** + * The 'MUST' literal value. + * + * + * @see #MUST + * @model literal="must" + * @generated + * @ordered + */ + public static final int MUST_VALUE = 4; + + /** + * The 'CURRENT' literal value. + * + * + * @see #CURRENT + * @model literal="current" + * @generated + * @ordered + */ + public static final int CURRENT_VALUE = 5; + + /** + * An array of all the 'Unary Op' enumerators. + * + * + * @generated + */ + private static final UnaryOp[] VALUES_ARRAY = + new UnaryOp[] { + NEG, + PLUS, + MINUS, + MAY, + MUST, + CURRENT, + }; + + /** + * A public read-only list of all the 'Unary Op' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Unary Op' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOp get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + UnaryOp result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Unary Op' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOp getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + UnaryOp result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Unary Op' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOp get(int value) { + switch (value) { + case NEG_VALUE: return NEG; + case PLUS_VALUE: return PLUS; + case MINUS_VALUE: return MINUS; + case MAY_VALUE: return MAY; + case MUST_VALUE: return MUST; + case CURRENT_VALUE: return CURRENT; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private UnaryOp(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //UnaryOp diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java new file mode 100644 index 00000000..fd916c18 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Unnamed Error Prediate Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList Argument List}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition() + * @model + * @generated + */ +public interface UnnamedErrorPrediateDefinition extends Statement { + /** + * Returns the value of the 'Argument List' containment reference. + * + * + * @return the value of the 'Argument List' containment reference. + * @see #setArgumentList(ArgumentList) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // UnnamedErrorPrediateDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java new file mode 100644 index 00000000..581ce517 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Variable'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable() + * @model + * @generated + */ +public interface Variable extends NamedElement { + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // Variable diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java new file mode 100644 index 00000000..0f0262df --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java @@ -0,0 +1,378 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Aggregation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getLocalVariables Local Variables}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getCondition Condition}
  • + *
+ * + * @generated + */ +public class AggregationImpl extends ExpressionImpl implements Aggregation { + /** + * The cached value of the '{@link #getOp() Op}' reference. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected NamedElement op; + + /** + * The cached value of the '{@link #getLocalVariables() Local Variables}' containment reference. + * + * + * @see #getLocalVariables() + * @generated + * @ordered + */ + protected LocalVariables localVariables; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * + * + * @generated + */ + protected AggregationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.AGGREGATION; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getOp() { + if (op != null && op.eIsProxy()) { + InternalEObject oldOp = (InternalEObject)op; + op = (NamedElement)eResolveProxy(oldOp); + if (op != oldOp) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.AGGREGATION__OP, oldOp, op)); + } + } + return op; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetOp() { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(NamedElement newOp) { + NamedElement oldOp = op; + op = newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public LocalVariables getLocalVariables() { + return localVariables; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLocalVariables(LocalVariables newLocalVariables, NotificationChain msgs) { + LocalVariables oldLocalVariables = localVariables; + localVariables = newLocalVariables; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, oldLocalVariables, newLocalVariables); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLocalVariables(LocalVariables newLocalVariables) { + if (newLocalVariables != localVariables) { + NotificationChain msgs = null; + if (localVariables != null) + msgs = ((InternalEObject)localVariables).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, null, msgs); + if (newLocalVariables != null) + msgs = ((InternalEObject)newLocalVariables).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, null, msgs); + msgs = basicSetLocalVariables(newLocalVariables, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, newLocalVariables, newLocalVariables)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getCondition() { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setCondition(Expression newCondition) { + if (newCondition != condition) { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + return basicSetLocalVariables(null, msgs); + case SolverLanguagePackage.AGGREGATION__BODY: + return basicSetBody(null, msgs); + case SolverLanguagePackage.AGGREGATION__CONDITION: + return basicSetCondition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__OP: + if (resolve) return getOp(); + return basicGetOp(); + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + return getLocalVariables(); + case SolverLanguagePackage.AGGREGATION__BODY: + return getBody(); + case SolverLanguagePackage.AGGREGATION__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__OP: + setOp((NamedElement)newValue); + return; + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)newValue); + return; + case SolverLanguagePackage.AGGREGATION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.AGGREGATION__CONDITION: + setCondition((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__OP: + setOp((NamedElement)null); + return; + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)null); + return; + case SolverLanguagePackage.AGGREGATION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.AGGREGATION__CONDITION: + setCondition((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__OP: + return op != null; + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + return localVariables != null; + case SolverLanguagePackage.AGGREGATION__BODY: + return body != null; + case SolverLanguagePackage.AGGREGATION__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //AggregationImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java new file mode 100644 index 00000000..afd14afa --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java @@ -0,0 +1,40 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Argument'. + * + * + * @generated + */ +public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument { + /** + * + * + * @generated + */ + protected ArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.ARGUMENT; + } + +} //ArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java new file mode 100644 index 00000000..fce298f1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java @@ -0,0 +1,154 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Argument List'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl#getArguments Arguments}
  • + *
+ * + * @generated + */ +public class ArgumentListImpl extends MinimalEObjectImpl.Container implements ArgumentList { + /** + * The cached value of the '{@link #getArguments() Arguments}' containment reference list. + * + * + * @see #getArguments() + * @generated + * @ordered + */ + protected EList arguments; + + /** + * + * + * @generated + */ + protected ArgumentListImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.ARGUMENT_LIST; + } + + /** + * + * + * @generated + */ + @Override + public EList getArguments() { + if (arguments == null) { + arguments = new EObjectContainmentEList(Argument.class, this, SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS); + } + return arguments; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + return ((InternalEList)getArguments()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + return getArguments(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + getArguments().clear(); + getArguments().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + getArguments().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + return arguments != null && !arguments.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ArgumentListImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java new file mode 100644 index 00000000..e85a40f9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java @@ -0,0 +1,317 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Binary Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getLeft Left}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression { + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected BinaryOperator op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected BinaryExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.BINARY_EXPRESSION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getLeft() { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLeft(Expression newLeft) { + if (newLeft != left) { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + @Override + public BinaryOperator getOp() { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(BinaryOperator newOp) { + BinaryOperator oldOp = op; + op = newOp == null ? OP_EDEFAULT : newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRight() { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRight(Expression newRight) { + if (newRight != right) { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return basicSetLeft(null, msgs); + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return getLeft(); + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + return getOp(); + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + setLeft((Expression)newValue); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + setOp((BinaryOperator)newValue); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + setLeft((Expression)null); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return left != null; + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (op: "); + result.append(op); + result.append(')'); + return result.toString(); + } + +} //BinaryExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java new file mode 100644 index 00000000..9b4f0385 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java @@ -0,0 +1,221 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Bounded Multiplicity'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getUpperBound Upper Bound}
  • + *
+ * + * @generated + */ +public class BoundedMultiplicityImpl extends MultiplicityImpl implements BoundedMultiplicity { + /** + * The default value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected static final int LOWER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected int lowerBound = LOWER_BOUND_EDEFAULT; + + /** + * The default value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected static final int UPPER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected int upperBound = UPPER_BOUND_EDEFAULT; + + /** + * + * + * @generated + */ + protected BoundedMultiplicityImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY; + } + + /** + * + * + * @generated + */ + @Override + public int getLowerBound() { + return lowerBound; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(int newLowerBound) { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND, oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public int getUpperBound() { + return upperBound; + } + + /** + * + * + * @generated + */ + @Override + public void setUpperBound(int newUpperBound) { + int oldUpperBound = upperBound; + upperBound = newUpperBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND, oldUpperBound, upperBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + return getLowerBound(); + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + return getUpperBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + setLowerBound((Integer)newValue); + return; + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + setUpperBound((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + setUpperBound(UPPER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + return lowerBound != LOWER_BOUND_EDEFAULT; + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + return upperBound != UPPER_BOUND_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (lowerBound: "); + result.append(lowerBound); + result.append(", upperBound: "); + result.append(upperBound); + result.append(')'); + return result.toString(); + } + +} //BoundedMultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java new file mode 100644 index 00000000..7d3a981e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java @@ -0,0 +1,221 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Bounded Scope Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getUpperBound Upper Bound}
  • + *
+ * + * @generated + */ +public class BoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements BoundedScopeDefinition { + /** + * The default value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected static final int LOWER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected int lowerBound = LOWER_BOUND_EDEFAULT; + + /** + * The default value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected static final int UPPER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected int upperBound = UPPER_BOUND_EDEFAULT; + + /** + * + * + * @generated + */ + protected BoundedScopeDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.BOUNDED_SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public int getLowerBound() { + return lowerBound; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(int newLowerBound) { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public int getUpperBound() { + return upperBound; + } + + /** + * + * + * @generated + */ + @Override + public void setUpperBound(int newUpperBound) { + int oldUpperBound = upperBound; + upperBound = newUpperBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND, oldUpperBound, upperBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return getLowerBound(); + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + return getUpperBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound((Integer)newValue); + return; + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + setUpperBound((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + setUpperBound(UPPER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return lowerBound != LOWER_BOUND_EDEFAULT; + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + return upperBound != UPPER_BOUND_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (lowerBound: "); + result.append(lowerBound); + result.append(", upperBound: "); + result.append(upperBound); + result.append(')'); + return result.toString(); + } + +} //BoundedScopeDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java new file mode 100644 index 00000000..bbc2dd4c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java @@ -0,0 +1,373 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Call'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getFunctor Functor}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList Argument List}
  • + *
+ * + * @generated + */ +public class CallImpl extends ExpressionImpl implements Call { + /** + * The cached value of the '{@link #getFunctor() Functor}' containment reference. + * + * + * @see #getFunctor() + * @generated + * @ordered + */ + protected Reference functor; + + /** + * The default value of the '{@link #isTransitiveClosure() Transitive Closure}' attribute. + * + * + * @see #isTransitiveClosure() + * @generated + * @ordered + */ + protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isTransitiveClosure() Transitive Closure}' attribute. + * + * + * @see #isTransitiveClosure() + * @generated + * @ordered + */ + protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT; + + /** + * The default value of the '{@link #isReflexiveTransitiveClosure() Reflexive Transitive Closure}' attribute. + * + * + * @see #isReflexiveTransitiveClosure() + * @generated + * @ordered + */ + protected static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isReflexiveTransitiveClosure() Reflexive Transitive Closure}' attribute. + * + * + * @see #isReflexiveTransitiveClosure() + * @generated + * @ordered + */ + protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * + * + * @generated + */ + protected CallImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CALL; + } + + /** + * + * + * @generated + */ + @Override + public Reference getFunctor() { + return functor; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetFunctor(Reference newFunctor, NotificationChain msgs) { + Reference oldFunctor = functor; + functor = newFunctor; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, oldFunctor, newFunctor); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setFunctor(Reference newFunctor) { + if (newFunctor != functor) { + NotificationChain msgs = null; + if (functor != null) + msgs = ((InternalEObject)functor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs); + if (newFunctor != null) + msgs = ((InternalEObject)newFunctor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs); + msgs = basicSetFunctor(newFunctor, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, newFunctor, newFunctor)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isTransitiveClosure() { + return transitiveClosure; + } + + /** + * + * + * @generated + */ + @Override + public void setTransitiveClosure(boolean newTransitiveClosure) { + boolean oldTransitiveClosure = transitiveClosure; + transitiveClosure = newTransitiveClosure; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isReflexiveTransitiveClosure() { + return reflexiveTransitiveClosure; + } + + /** + * + * + * @generated + */ + @Override + public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) { + boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure; + reflexiveTransitiveClosure = newReflexiveTransitiveClosure; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure)); + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList getArgumentList() { + return argumentList; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) { + ArgumentList oldArgumentList = argumentList; + argumentList = newArgumentList; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setArgumentList(ArgumentList newArgumentList) { + if (newArgumentList != argumentList) { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CALL__FUNCTOR: + return basicSetFunctor(null, msgs); + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return basicSetArgumentList(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.CALL__FUNCTOR: + return getFunctor(); + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + return isTransitiveClosure(); + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + return isReflexiveTransitiveClosure(); + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return getArgumentList(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CALL__FUNCTOR: + setFunctor((Reference)newValue); + return; + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + setTransitiveClosure((Boolean)newValue); + return; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure((Boolean)newValue); + return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CALL__FUNCTOR: + setFunctor((Reference)null); + return; + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); + return; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT); + return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CALL__FUNCTOR: + return functor != null; + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return argumentList != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (transitiveClosure: "); + result.append(transitiveClosure); + result.append(", reflexiveTransitiveClosure: "); + result.append(reflexiveTransitiveClosure); + result.append(')'); + return result.toString(); + } + +} //CallImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java new file mode 100644 index 00000000..d6905f3b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java @@ -0,0 +1,246 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Case'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition Condition}
  • + *
+ * + * @generated + */ +public class CaseImpl extends ExpressionImpl implements Case { + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * + * + * @generated + */ + protected CaseImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CASE; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getCondition() { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setCondition(Expression newCondition) { + if (newCondition != condition) { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + return basicSetBody(null, msgs); + case SolverLanguagePackage.CASE__CONDITION: + return basicSetCondition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + return getBody(); + case SolverLanguagePackage.CASE__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + return body != null; + case SolverLanguagePackage.CASE__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //CaseImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java new file mode 100644 index 00000000..39e20e46 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java @@ -0,0 +1,241 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.CastExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Cast Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl#getType Type}
  • + *
+ * + * @generated + */ +public class CastExpressionImpl extends ExpressionImpl implements CastExpression { + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected CastExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CAST_EXPRESSION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CAST_EXPRESSION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CAST_EXPRESSION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.CAST_EXPRESSION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CAST_EXPRESSION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.CAST_EXPRESSION__BODY: + return getBody(); + case SolverLanguagePackage.CAST_EXPRESSION__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CAST_EXPRESSION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.CAST_EXPRESSION__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CAST_EXPRESSION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.CAST_EXPRESSION__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CAST_EXPRESSION__BODY: + return body != null; + case SolverLanguagePackage.CAST_EXPRESSION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //CastExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java new file mode 100644 index 00000000..9fe48f0b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java @@ -0,0 +1,318 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Class Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getSuperclasses Superclasses}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getMembers Members}
  • + *
+ * + * @generated + */ +public class ClassDefinitionImpl extends StatementImpl implements ClassDefinition { + /** + * The default value of the '{@link #isAbstract() Abstract}' attribute. + * + * + * @see #isAbstract() + * @generated + * @ordered + */ + protected static final boolean ABSTRACT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isAbstract() Abstract}' attribute. + * + * + * @see #isAbstract() + * @generated + * @ordered + */ + protected boolean abstract_ = ABSTRACT_EDEFAULT; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getSuperclasses() Superclasses}' reference list. + * + * + * @see #getSuperclasses() + * @generated + * @ordered + */ + protected EList superclasses; + + /** + * The cached value of the '{@link #getMembers() Members}' containment reference list. + * + * + * @see #getMembers() + * @generated + * @ordered + */ + protected EList members; + + /** + * + * + * @generated + */ + protected ClassDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CLASS_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public boolean isAbstract() { + return abstract_; + } + + /** + * + * + * @generated + */ + @Override + public void setAbstract(boolean newAbstract) { + boolean oldAbstract = abstract_; + abstract_ = newAbstract; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT, oldAbstract, abstract_)); + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSuperclasses() { + if (superclasses == null) { + superclasses = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES); + } + return superclasses; + } + + /** + * + * + * @generated + */ + @Override + public EList getMembers() { + if (members == null) { + members = new EObjectContainmentEList(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS); + } + return members; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + return ((InternalEList)getMembers()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + return isAbstract(); + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + return getSuperclasses(); + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + return getMembers(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + setAbstract((Boolean)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + getSuperclasses().clear(); + getSuperclasses().addAll((Collection)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + getMembers().clear(); + getMembers().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + setAbstract(ABSTRACT_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + getSuperclasses().clear(); + return; + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + getMembers().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + return abstract_ != ABSTRACT_EDEFAULT; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + return superclasses != null && !superclasses.isEmpty(); + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + return members != null && !members.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (abstract: "); + result.append(abstract_); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ClassDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java new file mode 100644 index 00000000..37cc2e07 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java @@ -0,0 +1,317 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator; +import org.eclipse.viatra.solver.language.solverLanguage.Comparison; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Comparison'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getLeft Left}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ComparisonImpl extends ExpressionImpl implements Comparison { + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected BinaryOperator op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.COMPARISON; + } + + /** + * + * + * @generated + */ + @Override + public Expression getLeft() { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLeft(Expression newLeft) { + if (newLeft != left) { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + @Override + public BinaryOperator getOp() { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(BinaryOperator newOp) { + BinaryOperator oldOp = op; + op = newOp == null ? OP_EDEFAULT : newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRight() { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRight(Expression newRight) { + if (newRight != right) { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.COMPARISON__LEFT: + return basicSetLeft(null, msgs); + case SolverLanguagePackage.COMPARISON__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.COMPARISON__LEFT: + return getLeft(); + case SolverLanguagePackage.COMPARISON__OP: + return getOp(); + case SolverLanguagePackage.COMPARISON__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.COMPARISON__LEFT: + setLeft((Expression)newValue); + return; + case SolverLanguagePackage.COMPARISON__OP: + setOp((BinaryOperator)newValue); + return; + case SolverLanguagePackage.COMPARISON__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.COMPARISON__LEFT: + setLeft((Expression)null); + return; + case SolverLanguagePackage.COMPARISON__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.COMPARISON__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.COMPARISON__LEFT: + return left != null; + case SolverLanguagePackage.COMPARISON__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.COMPARISON__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (op: "); + result.append(op); + result.append(')'); + return result.toString(); + } + +} //ComparisonImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java new file mode 100644 index 00000000..cc689c0d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java @@ -0,0 +1,152 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Conjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl#getChildren Children}
  • + *
+ * + * @generated + */ +public class ConjunctionImpl extends ExpressionImpl implements Conjunction { + /** + * The cached value of the '{@link #getChildren() Children}' containment reference list. + * + * + * @see #getChildren() + * @generated + * @ordered + */ + protected EList children; + + /** + * + * + * @generated + */ + protected ConjunctionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CONJUNCTION; + } + + /** + * + * + * @generated + */ + @Override + public EList getChildren() { + if (children == null) { + children = new EObjectContainmentEList(Expression.class, this, SolverLanguagePackage.CONJUNCTION__CHILDREN); + } + return children; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + return getChildren(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + getChildren().clear(); + getChildren().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + getChildren().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + return children != null && !children.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ConjunctionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java new file mode 100644 index 00000000..f1ad7bea --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java @@ -0,0 +1,247 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Default Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getRange Range}
  • + *
+ * + * @generated + */ +public class DefaultDefinitionImpl extends StatementImpl implements DefaultDefinition { + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Call head; + + /** + * The cached value of the '{@link #getRange() Range}' containment reference. + * + * + * @see #getRange() + * @generated + * @ordered + */ + protected Expression range; + + /** + * + * + * @generated + */ + protected DefaultDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.DEFAULT_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public Call getHead() { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Call newHead, NotificationChain msgs) { + Call oldHead = head; + head = newHead; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Call newHead) { + if (newHead != head) { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRange() { + return range; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs) { + Expression oldRange = range; + range = newRange; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, oldRange, newRange); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRange(Expression newRange) { + if (newRange != range) { + NotificationChain msgs = null; + if (range != null) + msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs); + if (newRange != null) + msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs); + msgs = basicSetRange(newRange, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, newRange, newRange)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + return basicSetHead(null, msgs); + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + return basicSetRange(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + return getHead(); + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + return getRange(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + setHead((Call)newValue); + return; + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + setRange((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + setHead((Call)null); + return; + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + setRange((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + return head != null; + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + return range != null; + } + return super.eIsSet(featureID); + } + +} //DefaultDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java new file mode 100644 index 00000000..47dd7bcc --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java @@ -0,0 +1,152 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Disjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl#getChildren Children}
  • + *
+ * + * @generated + */ +public class DisjunctionImpl extends ExpressionImpl implements Disjunction { + /** + * The cached value of the '{@link #getChildren() Children}' containment reference list. + * + * + * @see #getChildren() + * @generated + * @ordered + */ + protected EList children; + + /** + * + * + * @generated + */ + protected DisjunctionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.DISJUNCTION; + } + + /** + * + * + * @generated + */ + @Override + public EList getChildren() { + if (children == null) { + children = new EObjectContainmentEList(Expression.class, this, SolverLanguagePackage.DISJUNCTION__CHILDREN); + } + return children; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + return getChildren(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + getChildren().clear(); + getChildren().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + getChildren().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + return children != null && !children.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //DisjunctionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java new file mode 100644 index 00000000..26717519 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java @@ -0,0 +1,38 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Empty Interval Literal'. + * + * + * @generated + */ +public class EmptyIntervalLiteralImpl extends LiteralImpl implements EmptyIntervalLiteral { + /** + * + * + * @generated + */ + protected EmptyIntervalLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL; + } + +} //EmptyIntervalLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java new file mode 100644 index 00000000..fdeeae5e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java @@ -0,0 +1,165 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Exact Multiplicity'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl#getMultiplicity Multiplicity}
  • + *
+ * + * @generated + */ +public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity { + /** + * The default value of the '{@link #getMultiplicity() Multiplicity}' attribute. + * + * + * @see #getMultiplicity() + * @generated + * @ordered + */ + protected static final int MULTIPLICITY_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getMultiplicity() Multiplicity}' attribute. + * + * + * @see #getMultiplicity() + * @generated + * @ordered + */ + protected int multiplicity = MULTIPLICITY_EDEFAULT; + + /** + * + * + * @generated + */ + protected ExactMultiplicityImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXACT_MULTIPLICITY; + } + + /** + * + * + * @generated + */ + @Override + public int getMultiplicity() { + return multiplicity; + } + + /** + * + * + * @generated + */ + @Override + public void setMultiplicity(int newMultiplicity) { + int oldMultiplicity = multiplicity; + multiplicity = newMultiplicity; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY, oldMultiplicity, multiplicity)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + return getMultiplicity(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + setMultiplicity((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + setMultiplicity(MULTIPLICITY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + return multiplicity != MULTIPLICITY_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (multiplicity: "); + result.append(multiplicity); + result.append(')'); + return result.toString(); + } + +} //ExactMultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java new file mode 100644 index 00000000..d5a375b0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java @@ -0,0 +1,165 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Exact Scope Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl#getExactScope Exact Scope}
  • + *
+ * + * @generated + */ +public class ExactScopeDefinitionImpl extends ScopeDefinitionImpl implements ExactScopeDefinition { + /** + * The default value of the '{@link #getExactScope() Exact Scope}' attribute. + * + * + * @see #getExactScope() + * @generated + * @ordered + */ + protected static final int EXACT_SCOPE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getExactScope() Exact Scope}' attribute. + * + * + * @see #getExactScope() + * @generated + * @ordered + */ + protected int exactScope = EXACT_SCOPE_EDEFAULT; + + /** + * + * + * @generated + */ + protected ExactScopeDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public int getExactScope() { + return exactScope; + } + + /** + * + * + * @generated + */ + @Override + public void setExactScope(int newExactScope) { + int oldExactScope = exactScope; + exactScope = newExactScope; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE, oldExactScope, exactScope)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + return getExactScope(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + setExactScope((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + setExactScope(EXACT_SCOPE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + return exactScope != EXACT_SCOPE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (exactScope: "); + result.append(exactScope); + result.append(')'); + return result.toString(); + } + +} //ExactScopeDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java new file mode 100644 index 00000000..798b4b68 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java @@ -0,0 +1,178 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Expression Argument'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument { + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected ExpressionArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //ExpressionArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java new file mode 100644 index 00000000..5b1c5969 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java @@ -0,0 +1,38 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Expression'. + * + * + * @generated + */ +public abstract class ExpressionImpl extends StatementImpl implements Expression { + /** + * + * + * @generated + */ + protected ExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXPRESSION; + } + +} //ExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java new file mode 100644 index 00000000..2b4efc07 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java @@ -0,0 +1,291 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Aggregator Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getInputType Input Type}
  • + *
+ * + * @generated + */ +public class ExternAggregatorDefinitionImpl extends StatementImpl implements ExternAggregatorDefinition { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getInputType() Input Type}' reference. + * + * + * @see #getInputType() + * @generated + * @ordered + */ + protected NamedElement inputType; + + /** + * + * + * @generated + */ + protected ExternAggregatorDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getInputType() { + if (inputType != null && inputType.eIsProxy()) { + InternalEObject oldInputType = (InternalEObject)inputType; + inputType = (NamedElement)eResolveProxy(oldInputType); + if (inputType != oldInputType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, oldInputType, inputType)); + } + } + return inputType; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetInputType() { + return inputType; + } + + /** + * + * + * @generated + */ + @Override + public void setInputType(NamedElement newInputType) { + NamedElement oldInputType = inputType; + inputType = newInputType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, oldInputType, inputType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + if (resolve) return getInputType(); + return basicGetInputType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + setInputType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + setInputType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + return type != null; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + return inputType != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ExternAggregatorDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java new file mode 100644 index 00000000..d186fb95 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java @@ -0,0 +1,208 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Datatype Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl#getSupertypes Supertypes}
  • + *
+ * + * @generated + */ +public class ExternDatatypeDefinitionImpl extends StatementImpl implements ExternDatatypeDefinition { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getSupertypes() Supertypes}' reference list. + * + * + * @see #getSupertypes() + * @generated + * @ordered + */ + protected EList supertypes; + + /** + * + * + * @generated + */ + protected ExternDatatypeDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_DATATYPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSupertypes() { + if (supertypes == null) { + supertypes = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES); + } + return supertypes; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + return getSupertypes(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + getSupertypes().clear(); + getSupertypes().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + getSupertypes().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + return supertypes != null && !supertypes.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ExternDatatypeDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java new file mode 100644 index 00000000..97c76273 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java @@ -0,0 +1,311 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Metric Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getArgumentList Argument List}
  • + *
+ * + * @generated + */ +public class ExternMetricDefinitionImpl extends StatementImpl implements ExternMetricDefinition { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * + * + * @generated + */ + protected ExternMetricDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList getArgumentList() { + return argumentList; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) { + ArgumentList oldArgumentList = argumentList; + argumentList = newArgumentList; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setArgumentList(ArgumentList newArgumentList) { + if (newArgumentList != argumentList) { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + return basicSetArgumentList(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + return getArgumentList(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + return type != null; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + return argumentList != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ExternMetricDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java new file mode 100644 index 00000000..e59fa4e3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java @@ -0,0 +1,248 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Predicate Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getArgumentList Argument List}
  • + *
+ * + * @generated + */ +public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * + * + * @generated + */ + protected ExternPredicateDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList getArgumentList() { + return argumentList; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) { + ArgumentList oldArgumentList = argumentList; + argumentList = newArgumentList; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setArgumentList(ArgumentList newArgumentList) { + if (newArgumentList != argumentList) { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + return basicSetArgumentList(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + return getArgumentList(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + return argumentList != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ExternPredicateDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java new file mode 100644 index 00000000..73bbc04f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java @@ -0,0 +1,134 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Functor; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model object 'Functor'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl#getParameters Parameters}
  • + *
+ * + * @generated + */ +public abstract class FunctorImpl extends NamedElementImpl implements Functor { + /** + * The cached value of the '{@link #getParameters() Parameters}' reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * + * + * @generated + */ + protected FunctorImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FUNCTOR; + } + + /** + * + * + * @generated + */ + @Override + public EList getParameters() { + if (parameters == null) { + parameters = new EObjectResolvingEList(Variable.class, this, SolverLanguagePackage.FUNCTOR__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + return getParameters(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //FunctorImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java new file mode 100644 index 00000000..3c6bb17a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java @@ -0,0 +1,314 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.IfElse; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'If Else'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getThen Then}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getElse Else}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getCondition Condition}
  • + *
+ * + * @generated + */ +public class IfElseImpl extends ExpressionImpl implements IfElse { + /** + * The cached value of the '{@link #getThen() Then}' containment reference. + * + * + * @see #getThen() + * @generated + * @ordered + */ + protected Expression then; + + /** + * The cached value of the '{@link #getElse() Else}' containment reference. + * + * + * @see #getElse() + * @generated + * @ordered + */ + protected Expression else_; + + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * + * + * @generated + */ + protected IfElseImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.IF_ELSE; + } + + /** + * + * + * @generated + */ + @Override + public Expression getThen() { + return then; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs) { + Expression oldThen = then; + then = newThen; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, oldThen, newThen); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setThen(Expression newThen) { + if (newThen != then) { + NotificationChain msgs = null; + if (then != null) + msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs); + if (newThen != null) + msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs); + msgs = basicSetThen(newThen, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, newThen, newThen)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getElse() { + return else_; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs) { + Expression oldElse = else_; + else_ = newElse; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, oldElse, newElse); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setElse(Expression newElse) { + if (newElse != else_) { + NotificationChain msgs = null; + if (else_ != null) + msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs); + if (newElse != null) + msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs); + msgs = basicSetElse(newElse, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, newElse, newElse)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getCondition() { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setCondition(Expression newCondition) { + if (newCondition != condition) { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + return basicSetThen(null, msgs); + case SolverLanguagePackage.IF_ELSE__ELSE: + return basicSetElse(null, msgs); + case SolverLanguagePackage.IF_ELSE__CONDITION: + return basicSetCondition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + return getThen(); + case SolverLanguagePackage.IF_ELSE__ELSE: + return getElse(); + case SolverLanguagePackage.IF_ELSE__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + setThen((Expression)newValue); + return; + case SolverLanguagePackage.IF_ELSE__ELSE: + setElse((Expression)newValue); + return; + case SolverLanguagePackage.IF_ELSE__CONDITION: + setCondition((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + setThen((Expression)null); + return; + case SolverLanguagePackage.IF_ELSE__ELSE: + setElse((Expression)null); + return; + case SolverLanguagePackage.IF_ELSE__CONDITION: + setCondition((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + return then != null; + case SolverLanguagePackage.IF_ELSE__ELSE: + return else_ != null; + case SolverLanguagePackage.IF_ELSE__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //IfElseImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java new file mode 100644 index 00000000..348f51df --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java @@ -0,0 +1,38 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Infinity Literal'. + * + * + * @generated + */ +public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral { + /** + * + * + * @generated + */ + protected InfinityLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.INFINITY_LITERAL; + } + +} //InfinityLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java new file mode 100644 index 00000000..fab8335a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java @@ -0,0 +1,246 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Interpretation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl#getRange Range}
  • + *
+ * + * @generated + */ +public class InterpretationImpl extends StatementImpl implements Interpretation { + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getRange() Range}' containment reference. + * + * + * @see #getRange() + * @generated + * @ordered + */ + protected Expression range; + + /** + * + * + * @generated + */ + protected InterpretationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.INTERPRETATION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRange() { + return range; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs) { + Expression oldRange = range; + range = newRange; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__RANGE, oldRange, newRange); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRange(Expression newRange) { + if (newRange != range) { + NotificationChain msgs = null; + if (range != null) + msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__RANGE, null, msgs); + if (newRange != null) + msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__RANGE, null, msgs); + msgs = basicSetRange(newRange, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__RANGE, newRange, newRange)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + return basicSetBody(null, msgs); + case SolverLanguagePackage.INTERPRETATION__RANGE: + return basicSetRange(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + return getBody(); + case SolverLanguagePackage.INTERPRETATION__RANGE: + return getRange(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.INTERPRETATION__RANGE: + setRange((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.INTERPRETATION__RANGE: + setRange((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + return body != null; + case SolverLanguagePackage.INTERPRETATION__RANGE: + return range != null; + } + return super.eIsSet(featureID); + } + +} //InterpretationImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java new file mode 100644 index 00000000..a04dae76 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java @@ -0,0 +1,246 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.Interval; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Interval'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getUpperBound Upper Bound}
  • + *
+ * + * @generated + */ +public class IntervalImpl extends ExpressionImpl implements Interval { + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' containment reference. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected Expression lowerBound; + + /** + * The cached value of the '{@link #getUpperBound() Upper Bound}' containment reference. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected Expression upperBound; + + /** + * + * + * @generated + */ + protected IntervalImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.INTERVAL; + } + + /** + * + * + * @generated + */ + @Override + public Expression getLowerBound() { + return lowerBound; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLowerBound(Expression newLowerBound, NotificationChain msgs) { + Expression oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, oldLowerBound, newLowerBound); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(Expression newLowerBound) { + if (newLowerBound != lowerBound) { + NotificationChain msgs = null; + if (lowerBound != null) + msgs = ((InternalEObject)lowerBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs); + if (newLowerBound != null) + msgs = ((InternalEObject)newLowerBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs); + msgs = basicSetLowerBound(newLowerBound, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, newLowerBound, newLowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getUpperBound() { + return upperBound; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUpperBound(Expression newUpperBound, NotificationChain msgs) { + Expression oldUpperBound = upperBound; + upperBound = newUpperBound; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, oldUpperBound, newUpperBound); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setUpperBound(Expression newUpperBound) { + if (newUpperBound != upperBound) { + NotificationChain msgs = null; + if (upperBound != null) + msgs = ((InternalEObject)upperBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs); + if (newUpperBound != null) + msgs = ((InternalEObject)newUpperBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs); + msgs = basicSetUpperBound(newUpperBound, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, newUpperBound, newUpperBound)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + return basicSetLowerBound(null, msgs); + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + return basicSetUpperBound(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + return getLowerBound(); + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + return getUpperBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + setLowerBound((Expression)newValue); + return; + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + setUpperBound((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + setLowerBound((Expression)null); + return; + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + setUpperBound((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + return lowerBound != null; + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + return upperBound != null; + } + return super.eIsSet(featureID); + } + +} //IntervalImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java new file mode 100644 index 00000000..9788c44d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java @@ -0,0 +1,248 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Let Binding'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getVariable Variable}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class LetBindingImpl extends MinimalEObjectImpl.Container implements LetBinding { + /** + * The cached value of the '{@link #getVariable() Variable}' containment reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected NamedElement variable; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * + * + * @generated + */ + protected LetBindingImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LET_BINDING; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getVariable() { + return variable; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetVariable(NamedElement newVariable, NotificationChain msgs) { + NamedElement oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VARIABLE, oldVariable, newVariable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setVariable(NamedElement newVariable) { + if (newVariable != variable) { + NotificationChain msgs = null; + if (variable != null) + msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs); + if (newVariable != null) + msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs); + msgs = basicSetVariable(newVariable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VARIABLE, newVariable, newVariable)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getValue() { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) { + Expression oldValue = value; + value = newValue; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(Expression newValue) { + if (newValue != value) { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return basicSetVariable(null, msgs); + case SolverLanguagePackage.LET_BINDING__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return getVariable(); + case SolverLanguagePackage.LET_BINDING__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + setVariable((NamedElement)newValue); + return; + case SolverLanguagePackage.LET_BINDING__VALUE: + setValue((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + setVariable((NamedElement)null); + return; + case SolverLanguagePackage.LET_BINDING__VALUE: + setValue((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return variable != null; + case SolverLanguagePackage.LET_BINDING__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + +} //LetBindingImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java new file mode 100644 index 00000000..841c74c7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java @@ -0,0 +1,224 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.Let; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Let'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl#getBindings Bindings}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class LetImpl extends ExpressionImpl implements Let { + /** + * The cached value of the '{@link #getBindings() Bindings}' containment reference list. + * + * + * @see #getBindings() + * @generated + * @ordered + */ + protected EList bindings; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected LetImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LET; + } + + /** + * + * + * @generated + */ + @Override + public EList getBindings() { + if (bindings == null) { + bindings = new EObjectContainmentEList(LetBinding.class, this, SolverLanguagePackage.LET__BINDINGS); + } + return bindings; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + return ((InternalEList)getBindings()).basicRemove(otherEnd, msgs); + case SolverLanguagePackage.LET__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + return getBindings(); + case SolverLanguagePackage.LET__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + getBindings().clear(); + getBindings().addAll((Collection)newValue); + return; + case SolverLanguagePackage.LET__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + getBindings().clear(); + return; + case SolverLanguagePackage.LET__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + return bindings != null && !bindings.isEmpty(); + case SolverLanguagePackage.LET__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //LetImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java new file mode 100644 index 00000000..671fa305 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java @@ -0,0 +1,38 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Literal; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Literal'. + * + * + * @generated + */ +public class LiteralImpl extends ExpressionImpl implements Literal { + /** + * + * + * @generated + */ + protected LiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LITERAL; + } + +} //LiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java new file mode 100644 index 00000000..e34a61c6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java @@ -0,0 +1,154 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Local Variables'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl#getVariables Variables}
  • + *
+ * + * @generated + */ +public class LocalVariablesImpl extends MinimalEObjectImpl.Container implements LocalVariables { + /** + * The cached value of the '{@link #getVariables() Variables}' containment reference list. + * + * + * @see #getVariables() + * @generated + * @ordered + */ + protected EList variables; + + /** + * + * + * @generated + */ + protected LocalVariablesImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LOCAL_VARIABLES; + } + + /** + * + * + * @generated + */ + @Override + public EList getVariables() { + if (variables == null) { + variables = new EObjectContainmentEList(NamedElement.class, this, SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES); + } + return variables; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + return ((InternalEList)getVariables()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + return getVariables(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + getVariables().clear(); + getVariables().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + getVariables().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + return variables != null && !variables.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //LocalVariablesImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java new file mode 100644 index 00000000..602edee1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java @@ -0,0 +1,166 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.LogicValue; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Logic Literal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class LogicLiteralImpl extends LiteralImpl implements LogicLiteral { + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected LogicValue value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected LogicLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LOGIC_LITERAL; + } + + /** + * + * + * @generated + */ + @Override + public LogicValue getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(LogicValue newValue) { + LogicValue oldValue = value; + value = newValue == null ? VALUE_EDEFAULT : newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + setValue((LogicValue)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //LogicLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java new file mode 100644 index 00000000..0e33864d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java @@ -0,0 +1,165 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Lower Bounded Scope Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl#getLowerBound Lower Bound}
  • + *
+ * + * @generated + */ +public class LowerBoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements LowerBoundedScopeDefinition { + /** + * The default value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected static final int LOWER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected int lowerBound = LOWER_BOUND_EDEFAULT; + + /** + * + * + * @generated + */ + protected LowerBoundedScopeDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public int getLowerBound() { + return lowerBound; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(int newLowerBound) { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return getLowerBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return lowerBound != LOWER_BOUND_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (lowerBound: "); + result.append(lowerBound); + result.append(')'); + return result.toString(); + } + +} //LowerBoundedScopeDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java new file mode 100644 index 00000000..20a59027 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java @@ -0,0 +1,38 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Many Multiplicity'. + * + * + * @generated + */ +public class ManyMultiplicityImpl extends MultiplicityImpl implements ManyMultiplicity { + /** + * + * + * @generated + */ + protected ManyMultiplicityImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.MANY_MULTIPLICITY; + } + +} //ManyMultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java new file mode 100644 index 00000000..f632faa4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java @@ -0,0 +1,430 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Member Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#isContainment Containment}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getMultiplicity Multiplicity}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getOpposite Opposite}
  • + *
+ * + * @generated + */ +public class MemberDefinitionImpl extends MinimalEObjectImpl.Container implements MemberDefinition { + /** + * The default value of the '{@link #isContainment() Containment}' attribute. + * + * + * @see #isContainment() + * @generated + * @ordered + */ + protected static final boolean CONTAINMENT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isContainment() Containment}' attribute. + * + * + * @see #isContainment() + * @generated + * @ordered + */ + protected boolean containment = CONTAINMENT_EDEFAULT; + + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * The cached value of the '{@link #getMultiplicity() Multiplicity}' containment reference. + * + * + * @see #getMultiplicity() + * @generated + * @ordered + */ + protected Multiplicity multiplicity; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getOpposite() Opposite}' reference. + * + * + * @see #getOpposite() + * @generated + * @ordered + */ + protected NamedElement opposite; + + /** + * + * + * @generated + */ + protected MemberDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.MEMBER_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public boolean isContainment() { + return containment; + } + + /** + * + * + * @generated + */ + @Override + public void setContainment(boolean newContainment) { + boolean oldContainment = containment; + containment = newContainment; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT, oldContainment, containment)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Multiplicity getMultiplicity() { + return multiplicity; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) { + Multiplicity oldMultiplicity = multiplicity; + multiplicity = newMultiplicity; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, oldMultiplicity, newMultiplicity); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setMultiplicity(Multiplicity newMultiplicity) { + if (newMultiplicity != multiplicity) { + NotificationChain msgs = null; + if (multiplicity != null) + msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs); + if (newMultiplicity != null) + msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs); + msgs = basicSetMultiplicity(newMultiplicity, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, newMultiplicity, newMultiplicity)); + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getOpposite() { + if (opposite != null && opposite.eIsProxy()) { + InternalEObject oldOpposite = (InternalEObject)opposite; + opposite = (NamedElement)eResolveProxy(oldOpposite); + if (opposite != oldOpposite) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite)); + } + } + return opposite; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetOpposite() { + return opposite; + } + + /** + * + * + * @generated + */ + @Override + public void setOpposite(NamedElement newOpposite) { + NamedElement oldOpposite = opposite; + opposite = newOpposite; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + return basicSetMultiplicity(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + return isContainment(); + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + return getMultiplicity(); + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + if (resolve) return getOpposite(); + return basicGetOpposite(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + setContainment((Boolean)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + setMultiplicity((Multiplicity)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + setOpposite((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + setContainment(CONTAINMENT_EDEFAULT); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + setMultiplicity((Multiplicity)null); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + setOpposite((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + return containment != CONTAINMENT_EDEFAULT; + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + return type != null; + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + return multiplicity != null; + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + return opposite != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (containment: "); + result.append(containment); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //MemberDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java new file mode 100644 index 00000000..d441b8c1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java @@ -0,0 +1,309 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Metric Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getType Type}
  • + *
+ * + * @generated + */ +public class MetricDefinitionImpl extends StatementImpl implements MetricDefinition { + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Expression head; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected MetricDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.METRIC_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getHead() { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs) { + Expression oldHead = head; + head = newHead; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Expression newHead) { + if (newHead != head) { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + return basicSetHead(null, msgs); + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + return getHead(); + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + return getBody(); + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + setHead((Expression)newValue); + return; + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + setHead((Expression)null); + return; + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + return head != null; + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + return body != null; + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //MetricDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java new file mode 100644 index 00000000..41fbe6de --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java @@ -0,0 +1,159 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Metric; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Metric'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl#getReturnType Return Type}
  • + *
+ * + * @generated + */ +public class MetricImpl extends FunctorImpl implements Metric { + /** + * The cached value of the '{@link #getReturnType() Return Type}' reference. + * + * + * @see #getReturnType() + * @generated + * @ordered + */ + protected NamedElement returnType; + + /** + * + * + * @generated + */ + protected MetricImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.METRIC; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getReturnType() { + if (returnType != null && returnType.eIsProxy()) { + InternalEObject oldReturnType = (InternalEObject)returnType; + returnType = (NamedElement)eResolveProxy(oldReturnType); + if (returnType != oldReturnType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.METRIC__RETURN_TYPE, oldReturnType, returnType)); + } + } + return returnType; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetReturnType() { + return returnType; + } + + /** + * + * + * @generated + */ + @Override + public void setReturnType(NamedElement newReturnType) { + NamedElement oldReturnType = returnType; + returnType = newReturnType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC__RETURN_TYPE, oldReturnType, returnType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + if (resolve) return getReturnType(); + return basicGetReturnType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + setReturnType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + setReturnType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + return returnType != null; + } + return super.eIsSet(featureID); + } + +} //MetricImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java new file mode 100644 index 00000000..e29fe9f6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java @@ -0,0 +1,40 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Multiplicity'. + * + * + * @generated + */ +public class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity { + /** + * + * + * @generated + */ + protected MultiplicityImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.MULTIPLICITY; + } + +} //MultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java new file mode 100644 index 00000000..a6b102ac --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java @@ -0,0 +1,166 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Named Element'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl#getName Name}
  • + *
+ * + * @generated + */ +public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected NamedElementImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.NAMED_ELEMENT; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_ELEMENT__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //NamedElementImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java new file mode 100644 index 00000000..a4fcf51f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java @@ -0,0 +1,165 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Node; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Node'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl#isWithId With Id}
  • + *
+ * + * @generated + */ +public class NodeImpl extends NamedElementImpl implements Node { + /** + * The default value of the '{@link #isWithId() With Id}' attribute. + * + * + * @see #isWithId() + * @generated + * @ordered + */ + protected static final boolean WITH_ID_EDEFAULT = false; + + /** + * The cached value of the '{@link #isWithId() With Id}' attribute. + * + * + * @see #isWithId() + * @generated + * @ordered + */ + protected boolean withId = WITH_ID_EDEFAULT; + + /** + * + * + * @generated + */ + protected NodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.NODE; + } + + /** + * + * + * @generated + */ + @Override + public boolean isWithId() { + return withId; + } + + /** + * + * + * @generated + */ + @Override + public void setWithId(boolean newWithId) { + boolean oldWithId = withId; + withId = newWithId; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NODE__WITH_ID, oldWithId, withId)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + return isWithId(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + setWithId((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + setWithId(WITH_ID_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + return withId != WITH_ID_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (withId: "); + result.append(withId); + result.append(')'); + return result.toString(); + } + +} //NodeImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java new file mode 100644 index 00000000..ffd4294d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java @@ -0,0 +1,167 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.math.BigDecimal; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Numeric Literal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class NumericLiteralImpl extends LiteralImpl implements NumericLiteral { + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final BigDecimal VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected BigDecimal value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected NumericLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.NUMERIC_LITERAL; + } + + /** + * + * + * @generated + */ + @Override + public BigDecimal getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(BigDecimal newValue) { + BigDecimal oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NUMERIC_LITERAL__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + setValue((BigDecimal)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //NumericLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java new file mode 100644 index 00000000..7d0e4c50 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java @@ -0,0 +1,249 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Objective Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getKind Kind}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getObjective Objective}
  • + *
+ * + * @generated + */ +public class ObjectiveDefinitionImpl extends StatementImpl implements ObjectiveDefinition { + /** + * The default value of the '{@link #getKind() Kind}' attribute. + * + * + * @see #getKind() + * @generated + * @ordered + */ + protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZE; + + /** + * The cached value of the '{@link #getKind() Kind}' attribute. + * + * + * @see #getKind() + * @generated + * @ordered + */ + protected ObjectiveKind kind = KIND_EDEFAULT; + + /** + * The cached value of the '{@link #getObjective() Objective}' containment reference. + * + * + * @see #getObjective() + * @generated + * @ordered + */ + protected Expression objective; + + /** + * + * + * @generated + */ + protected ObjectiveDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public ObjectiveKind getKind() { + return kind; + } + + /** + * + * + * @generated + */ + @Override + public void setKind(ObjectiveKind newKind) { + ObjectiveKind oldKind = kind; + kind = newKind == null ? KIND_EDEFAULT : newKind; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND, oldKind, kind)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getObjective() { + return objective; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetObjective(Expression newObjective, NotificationChain msgs) { + Expression oldObjective = objective; + objective = newObjective; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, oldObjective, newObjective); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setObjective(Expression newObjective) { + if (newObjective != objective) { + NotificationChain msgs = null; + if (objective != null) + msgs = ((InternalEObject)objective).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs); + if (newObjective != null) + msgs = ((InternalEObject)newObjective).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs); + msgs = basicSetObjective(newObjective, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, newObjective, newObjective)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + return basicSetObjective(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + return getKind(); + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + return getObjective(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + setKind((ObjectiveKind)newValue); + return; + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + setObjective((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + setKind(KIND_EDEFAULT); + return; + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + setObjective((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + return kind != KIND_EDEFAULT; + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + return objective != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (kind: "); + result.append(kind); + result.append(')'); + return result.toString(); + } + +} //ObjectiveDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java new file mode 100644 index 00000000..251a27d9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java @@ -0,0 +1,372 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Predicate Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isFunctional Functional}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isError Error}
  • + *
+ * + * @generated + */ +public class PredicateDefinitionImpl extends StatementImpl implements PredicateDefinition { + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Expression head; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The default value of the '{@link #isFunctional() Functional}' attribute. + * + * + * @see #isFunctional() + * @generated + * @ordered + */ + protected static final boolean FUNCTIONAL_EDEFAULT = false; + + /** + * The cached value of the '{@link #isFunctional() Functional}' attribute. + * + * + * @see #isFunctional() + * @generated + * @ordered + */ + protected boolean functional = FUNCTIONAL_EDEFAULT; + + /** + * The default value of the '{@link #isError() Error}' attribute. + * + * + * @see #isError() + * @generated + * @ordered + */ + protected static final boolean ERROR_EDEFAULT = false; + + /** + * The cached value of the '{@link #isError() Error}' attribute. + * + * + * @see #isError() + * @generated + * @ordered + */ + protected boolean error = ERROR_EDEFAULT; + + /** + * + * + * @generated + */ + protected PredicateDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PREDICATE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getHead() { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs) { + Expression oldHead = head; + head = newHead; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Expression newHead) { + if (newHead != head) { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isFunctional() { + return functional; + } + + /** + * + * + * @generated + */ + @Override + public void setFunctional(boolean newFunctional) { + boolean oldFunctional = functional; + functional = newFunctional; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL, oldFunctional, functional)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isError() { + return error; + } + + /** + * + * + * @generated + */ + @Override + public void setError(boolean newError) { + boolean oldError = error; + error = newError; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__ERROR, oldError, error)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + return basicSetHead(null, msgs); + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + return getHead(); + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + return getBody(); + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + return isFunctional(); + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + return isError(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + setHead((Expression)newValue); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + setFunctional((Boolean)newValue); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + setError((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + setHead((Expression)null); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + setFunctional(FUNCTIONAL_EDEFAULT); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + setError(ERROR_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + return head != null; + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + return body != null; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + return functional != FUNCTIONAL_EDEFAULT; + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + return error != ERROR_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (functional: "); + result.append(functional); + result.append(", error: "); + result.append(error); + result.append(')'); + return result.toString(); + } + +} //PredicateDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java new file mode 100644 index 00000000..626b6419 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java @@ -0,0 +1,38 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Predicate; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Predicate'. + * + * + * @generated + */ +public class PredicateImpl extends FunctorImpl implements Predicate { + /** + * + * + * @generated + */ + protected PredicateImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PREDICATE; + } + +} //PredicateImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java new file mode 100644 index 00000000..0a4ad5ce --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java @@ -0,0 +1,154 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Problem; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Statement; + +/** + * + * An implementation of the model object 'Problem'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements Statements}
  • + *
+ * + * @generated + */ +public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem { + /** + * The cached value of the '{@link #getStatements() Statements}' containment reference list. + * + * + * @see #getStatements() + * @generated + * @ordered + */ + protected EList statements; + + /** + * + * + * @generated + */ + protected ProblemImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PROBLEM; + } + + /** + * + * + * @generated + */ + @Override + public EList getStatements() { + if (statements == null) { + statements = new EObjectContainmentEList(Statement.class, this, SolverLanguagePackage.PROBLEM__STATEMENTS); + } + return statements; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return ((InternalEList)getStatements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return getStatements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + getStatements().clear(); + getStatements().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + getStatements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return statements != null && !statements.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ProblemImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java new file mode 100644 index 00000000..a1eecebd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java @@ -0,0 +1,318 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; +import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Quantifier; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Quantified Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getLocalVariables Local Variables}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getQuantifier Quantifier}
  • + *
+ * + * @generated + */ +public class QuantifiedExpressionImpl extends ExpressionImpl implements QuantifiedExpression { + /** + * The cached value of the '{@link #getLocalVariables() Local Variables}' containment reference. + * + * + * @see #getLocalVariables() + * @generated + * @ordered + */ + protected LocalVariables localVariables; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The default value of the '{@link #getQuantifier() Quantifier}' attribute. + * + * + * @see #getQuantifier() + * @generated + * @ordered + */ + protected static final Quantifier QUANTIFIER_EDEFAULT = Quantifier.EXISTS; + + /** + * The cached value of the '{@link #getQuantifier() Quantifier}' attribute. + * + * + * @see #getQuantifier() + * @generated + * @ordered + */ + protected Quantifier quantifier = QUANTIFIER_EDEFAULT; + + /** + * + * + * @generated + */ + protected QuantifiedExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.QUANTIFIED_EXPRESSION; + } + + /** + * + * + * @generated + */ + @Override + public LocalVariables getLocalVariables() { + return localVariables; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLocalVariables(LocalVariables newLocalVariables, NotificationChain msgs) { + LocalVariables oldLocalVariables = localVariables; + localVariables = newLocalVariables; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, oldLocalVariables, newLocalVariables); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLocalVariables(LocalVariables newLocalVariables) { + if (newLocalVariables != localVariables) { + NotificationChain msgs = null; + if (localVariables != null) + msgs = ((InternalEObject)localVariables).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, null, msgs); + if (newLocalVariables != null) + msgs = ((InternalEObject)newLocalVariables).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, null, msgs); + msgs = basicSetLocalVariables(newLocalVariables, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, newLocalVariables, newLocalVariables)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public Quantifier getQuantifier() { + return quantifier; + } + + /** + * + * + * @generated + */ + @Override + public void setQuantifier(Quantifier newQuantifier) { + Quantifier oldQuantifier = quantifier; + quantifier = newQuantifier == null ? QUANTIFIER_EDEFAULT : newQuantifier; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER, oldQuantifier, quantifier)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + return basicSetLocalVariables(null, msgs); + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + return getLocalVariables(); + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + return getBody(); + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + return getQuantifier(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)newValue); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + setQuantifier((Quantifier)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)null); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + setQuantifier(QUANTIFIER_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + return localVariables != null; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + return body != null; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + return quantifier != QUANTIFIER_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (quantifier: "); + result.append(quantifier); + result.append(')'); + return result.toString(); + } + +} //QuantifiedExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java new file mode 100644 index 00000000..0be1aac7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java @@ -0,0 +1,159 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Reference'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl#getReferred Referred}
  • + *
+ * + * @generated + */ +public class ReferenceImpl extends ExpressionImpl implements Reference { + /** + * The cached value of the '{@link #getReferred() Referred}' reference. + * + * + * @see #getReferred() + * @generated + * @ordered + */ + protected NamedElement referred; + + /** + * + * + * @generated + */ + protected ReferenceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.REFERENCE; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getReferred() { + if (referred != null && referred.eIsProxy()) { + InternalEObject oldReferred = (InternalEObject)referred; + referred = (NamedElement)eResolveProxy(oldReferred); + if (referred != oldReferred) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred)); + } + } + return referred; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetReferred() { + return referred; + } + + /** + * + * + * @generated + */ + @Override + public void setReferred(NamedElement newReferred) { + NamedElement oldReferred = referred; + referred = newReferred; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__REFERRED: + if (resolve) return getReferred(); + return basicGetReferred(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__REFERRED: + setReferred((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__REFERRED: + setReferred((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__REFERRED: + return referred != null; + } + return super.eIsSet(featureID); + } + +} //ReferenceImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java new file mode 100644 index 00000000..a4cf94a7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java @@ -0,0 +1,159 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Scope Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl#getType Type}
  • + *
+ * + * @generated + */ +public class ScopeDefinitionImpl extends StatementImpl implements ScopeDefinition { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected ScopeDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //ScopeDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java new file mode 100644 index 00000000..5787175b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java @@ -0,0 +1,905 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import org.eclipse.viatra.solver.language.solverLanguage.*; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLanguageFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static SolverLanguageFactory init() { + try { + SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(SolverLanguagePackage.eNS_URI); + if (theSolverLanguageFactory != null) { + return theSolverLanguageFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new SolverLanguageFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public SolverLanguageFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case SolverLanguagePackage.PROBLEM: return createProblem(); + case SolverLanguagePackage.STATEMENT: return createStatement(); + case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition(); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition(); + case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition(); + case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition(); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition(); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: return createExternAggregatorDefinition(); + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: return createExternDatatypeDefinition(); + case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement(); + case SolverLanguagePackage.IF_ELSE: return createIfElse(); + case SolverLanguagePackage.LET: return createLet(); + case SolverLanguagePackage.LET_BINDING: return createLetBinding(); + case SolverLanguagePackage.CASE: return createCase(); + case SolverLanguagePackage.LOCAL_VARIABLES: return createLocalVariables(); + case SolverLanguagePackage.QUANTIFIED_EXPRESSION: return createQuantifiedExpression(); + case SolverLanguagePackage.AGGREGATION: return createAggregation(); + case SolverLanguagePackage.CALL: return createCall(); + case SolverLanguagePackage.ARGUMENT_LIST: return createArgumentList(); + case SolverLanguagePackage.ARGUMENT: return createArgument(); + case SolverLanguagePackage.EXPRESSION_ARGUMENT: return createExpressionArgument(); + case SolverLanguagePackage.STAR_ARGUMENT: return createStarArgument(); + case SolverLanguagePackage.TYPED_ARGUMENT: return createTypedArgument(); + case SolverLanguagePackage.TYPED_STAR_ARGUMENT: return createTypedStarArgument(); + case SolverLanguagePackage.REFERENCE: return createReference(); + case SolverLanguagePackage.INTERVAL: return createInterval(); + case SolverLanguagePackage.LITERAL: return createLiteral(); + case SolverLanguagePackage.LOGIC_LITERAL: return createLogicLiteral(); + case SolverLanguagePackage.NUMERIC_LITERAL: return createNumericLiteral(); + case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral(); + case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral(); + case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral(); + case SolverLanguagePackage.CLASS_DEFINITION: return createClassDefinition(); + case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition(); + case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity(); + case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity(); + case SolverLanguagePackage.EXACT_MULTIPLICITY: return createExactMultiplicity(); + case SolverLanguagePackage.BOUNDED_MULTIPLICITY: return createBoundedMultiplicity(); + case SolverLanguagePackage.SCOPE_DEFINITION: return createScopeDefinition(); + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: return createExactScopeDefinition(); + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: return createBoundedScopeDefinition(); + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: return createLowerBoundedScopeDefinition(); + case SolverLanguagePackage.OBJECTIVE_DEFINITION: return createObjectiveDefinition(); + case SolverLanguagePackage.INTERPRETATION: return createInterpretation(); + case SolverLanguagePackage.VARIABLE: return createVariable(); + case SolverLanguagePackage.DISJUNCTION: return createDisjunction(); + case SolverLanguagePackage.SWITCH: return createSwitch(); + case SolverLanguagePackage.CONJUNCTION: return createConjunction(); + case SolverLanguagePackage.COMPARISON: return createComparison(); + case SolverLanguagePackage.BINARY_EXPRESSION: return createBinaryExpression(); + case SolverLanguagePackage.CAST_EXPRESSION: return createCastExpression(); + case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression(); + case SolverLanguagePackage.NODE: return createNode(); + case SolverLanguagePackage.PREDICATE: return createPredicate(); + case SolverLanguagePackage.METRIC: return createMetric(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) { + switch (eDataType.getClassifierID()) { + case SolverLanguagePackage.BINARY_OPERATOR: + return createBinaryOperatorFromString(eDataType, initialValue); + case SolverLanguagePackage.UNARY_OP: + return createUnaryOpFromString(eDataType, initialValue); + case SolverLanguagePackage.LOGIC_VALUE: + return createLogicValueFromString(eDataType, initialValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return createObjectiveKindFromString(eDataType, initialValue); + case SolverLanguagePackage.QUANTIFIER: + return createQuantifierFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) { + switch (eDataType.getClassifierID()) { + case SolverLanguagePackage.BINARY_OPERATOR: + return convertBinaryOperatorToString(eDataType, instanceValue); + case SolverLanguagePackage.UNARY_OP: + return convertUnaryOpToString(eDataType, instanceValue); + case SolverLanguagePackage.LOGIC_VALUE: + return convertLogicValueToString(eDataType, instanceValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return convertObjectiveKindToString(eDataType, instanceValue); + case SolverLanguagePackage.QUANTIFIER: + return convertQuantifierToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public Problem createProblem() { + ProblemImpl problem = new ProblemImpl(); + return problem; + } + + /** + * + * + * @generated + */ + @Override + public Statement createStatement() { + StatementImpl statement = new StatementImpl(); + return statement; + } + + /** + * + * + * @generated + */ + @Override + public PredicateDefinition createPredicateDefinition() { + PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl(); + return predicateDefinition; + } + + /** + * + * + * @generated + */ + @Override + public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition() { + UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl(); + return unnamedErrorPrediateDefinition; + } + + /** + * + * + * @generated + */ + @Override + public DefaultDefinition createDefaultDefinition() { + DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl(); + return defaultDefinition; + } + + /** + * + * + * @generated + */ + @Override + public MetricDefinition createMetricDefinition() { + MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl(); + return metricDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternPredicateDefinition createExternPredicateDefinition() { + ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl(); + return externPredicateDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternMetricDefinition createExternMetricDefinition() { + ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl(); + return externMetricDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternAggregatorDefinition createExternAggregatorDefinition() { + ExternAggregatorDefinitionImpl externAggregatorDefinition = new ExternAggregatorDefinitionImpl(); + return externAggregatorDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternDatatypeDefinition createExternDatatypeDefinition() { + ExternDatatypeDefinitionImpl externDatatypeDefinition = new ExternDatatypeDefinitionImpl(); + return externDatatypeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement createNamedElement() { + NamedElementImpl namedElement = new NamedElementImpl(); + return namedElement; + } + + /** + * + * + * @generated + */ + @Override + public IfElse createIfElse() { + IfElseImpl ifElse = new IfElseImpl(); + return ifElse; + } + + /** + * + * + * @generated + */ + @Override + public Let createLet() { + LetImpl let = new LetImpl(); + return let; + } + + /** + * + * + * @generated + */ + @Override + public LetBinding createLetBinding() { + LetBindingImpl letBinding = new LetBindingImpl(); + return letBinding; + } + + /** + * + * + * @generated + */ + @Override + public Case createCase() { + CaseImpl case_ = new CaseImpl(); + return case_; + } + + /** + * + * + * @generated + */ + @Override + public LocalVariables createLocalVariables() { + LocalVariablesImpl localVariables = new LocalVariablesImpl(); + return localVariables; + } + + /** + * + * + * @generated + */ + @Override + public QuantifiedExpression createQuantifiedExpression() { + QuantifiedExpressionImpl quantifiedExpression = new QuantifiedExpressionImpl(); + return quantifiedExpression; + } + + /** + * + * + * @generated + */ + @Override + public Aggregation createAggregation() { + AggregationImpl aggregation = new AggregationImpl(); + return aggregation; + } + + /** + * + * + * @generated + */ + @Override + public Call createCall() { + CallImpl call = new CallImpl(); + return call; + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList createArgumentList() { + ArgumentListImpl argumentList = new ArgumentListImpl(); + return argumentList; + } + + /** + * + * + * @generated + */ + @Override + public Argument createArgument() { + ArgumentImpl argument = new ArgumentImpl(); + return argument; + } + + /** + * + * + * @generated + */ + @Override + public ExpressionArgument createExpressionArgument() { + ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl(); + return expressionArgument; + } + + /** + * + * + * @generated + */ + @Override + public StarArgument createStarArgument() { + StarArgumentImpl starArgument = new StarArgumentImpl(); + return starArgument; + } + + /** + * + * + * @generated + */ + @Override + public TypedArgument createTypedArgument() { + TypedArgumentImpl typedArgument = new TypedArgumentImpl(); + return typedArgument; + } + + /** + * + * + * @generated + */ + @Override + public TypedStarArgument createTypedStarArgument() { + TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl(); + return typedStarArgument; + } + + /** + * + * + * @generated + */ + @Override + public Reference createReference() { + ReferenceImpl reference = new ReferenceImpl(); + return reference; + } + + /** + * + * + * @generated + */ + @Override + public Interval createInterval() { + IntervalImpl interval = new IntervalImpl(); + return interval; + } + + /** + * + * + * @generated + */ + @Override + public Literal createLiteral() { + LiteralImpl literal = new LiteralImpl(); + return literal; + } + + /** + * + * + * @generated + */ + @Override + public LogicLiteral createLogicLiteral() { + LogicLiteralImpl logicLiteral = new LogicLiteralImpl(); + return logicLiteral; + } + + /** + * + * + * @generated + */ + @Override + public NumericLiteral createNumericLiteral() { + NumericLiteralImpl numericLiteral = new NumericLiteralImpl(); + return numericLiteral; + } + + /** + * + * + * @generated + */ + @Override + public InfinityLiteral createInfinityLiteral() { + InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl(); + return infinityLiteral; + } + + /** + * + * + * @generated + */ + @Override + public EmptyIntervalLiteral createEmptyIntervalLiteral() { + EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl(); + return emptyIntervalLiteral; + } + + /** + * + * + * @generated + */ + @Override + public StringLiteral createStringLiteral() { + StringLiteralImpl stringLiteral = new StringLiteralImpl(); + return stringLiteral; + } + + /** + * + * + * @generated + */ + @Override + public ClassDefinition createClassDefinition() { + ClassDefinitionImpl classDefinition = new ClassDefinitionImpl(); + return classDefinition; + } + + /** + * + * + * @generated + */ + @Override + public MemberDefinition createMemberDefinition() { + MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl(); + return memberDefinition; + } + + /** + * + * + * @generated + */ + @Override + public Multiplicity createMultiplicity() { + MultiplicityImpl multiplicity = new MultiplicityImpl(); + return multiplicity; + } + + /** + * + * + * @generated + */ + @Override + public ManyMultiplicity createManyMultiplicity() { + ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl(); + return manyMultiplicity; + } + + /** + * + * + * @generated + */ + @Override + public ExactMultiplicity createExactMultiplicity() { + ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl(); + return exactMultiplicity; + } + + /** + * + * + * @generated + */ + @Override + public BoundedMultiplicity createBoundedMultiplicity() { + BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl(); + return boundedMultiplicity; + } + + /** + * + * + * @generated + */ + @Override + public ScopeDefinition createScopeDefinition() { + ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl(); + return scopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExactScopeDefinition createExactScopeDefinition() { + ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl(); + return exactScopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public BoundedScopeDefinition createBoundedScopeDefinition() { + BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl(); + return boundedScopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition() { + LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl(); + return lowerBoundedScopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ObjectiveDefinition createObjectiveDefinition() { + ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl(); + return objectiveDefinition; + } + + /** + * + * + * @generated + */ + @Override + public Interpretation createInterpretation() { + InterpretationImpl interpretation = new InterpretationImpl(); + return interpretation; + } + + /** + * + * + * @generated + */ + @Override + public Variable createVariable() { + VariableImpl variable = new VariableImpl(); + return variable; + } + + /** + * + * + * @generated + */ + @Override + public Disjunction createDisjunction() { + DisjunctionImpl disjunction = new DisjunctionImpl(); + return disjunction; + } + + /** + * + * + * @generated + */ + @Override + public Switch createSwitch() { + SwitchImpl switch_ = new SwitchImpl(); + return switch_; + } + + /** + * + * + * @generated + */ + @Override + public Conjunction createConjunction() { + ConjunctionImpl conjunction = new ConjunctionImpl(); + return conjunction; + } + + /** + * + * + * @generated + */ + @Override + public Comparison createComparison() { + ComparisonImpl comparison = new ComparisonImpl(); + return comparison; + } + + /** + * + * + * @generated + */ + @Override + public BinaryExpression createBinaryExpression() { + BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl(); + return binaryExpression; + } + + /** + * + * + * @generated + */ + @Override + public CastExpression createCastExpression() { + CastExpressionImpl castExpression = new CastExpressionImpl(); + return castExpression; + } + + /** + * + * + * @generated + */ + @Override + public UnaryExpression createUnaryExpression() { + UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl(); + return unaryExpression; + } + + /** + * + * + * @generated + */ + @Override + public Node createNode() { + NodeImpl node = new NodeImpl(); + return node; + } + + /** + * + * + * @generated + */ + @Override + public Predicate createPredicate() { + PredicateImpl predicate = new PredicateImpl(); + return predicate; + } + + /** + * + * + * @generated + */ + @Override + public Metric createMetric() { + MetricImpl metric = new MetricImpl(); + return metric; + } + + /** + * + * + * @generated + */ + public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue) { + BinaryOperator result = BinaryOperator.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue) { + UnaryOp result = UnaryOp.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertUnaryOpToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) { + LogicValue result = LogicValue.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertLogicValueToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue) { + ObjectiveKind result = ObjectiveKind.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public Quantifier createQuantifierFromString(EDataType eDataType, String initialValue) { + Quantifier result = Quantifier.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertQuantifierToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + @Override + public SolverLanguagePackage getSolverLanguagePackage() { + return (SolverLanguagePackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static SolverLanguagePackage getPackage() { + return SolverLanguagePackage.eINSTANCE; + } + +} //SolverLanguageFactoryImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java new file mode 100644 index 00000000..e8834386 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java @@ -0,0 +1,2726 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator; +import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.CastExpression; +import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Comparison; +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; +import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; +import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Functor; +import org.eclipse.viatra.solver.language.solverLanguage.IfElse; +import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; +import org.eclipse.viatra.solver.language.solverLanguage.Interval; +import org.eclipse.viatra.solver.language.solverLanguage.Let; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.Literal; +import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; +import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.LogicValue; +import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Metric; +import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.Node; +import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind; +import org.eclipse.viatra.solver.language.solverLanguage.Predicate; +import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Problem; +import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Quantifier; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; +import org.eclipse.viatra.solver.language.solverLanguage.Statement; +import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Switch; +import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; +import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp; +import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage { + /** + * + * + * @generated + */ + private EClass problemEClass = null; + + /** + * + * + * @generated + */ + private EClass statementEClass = null; + + /** + * + * + * @generated + */ + private EClass predicateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass unnamedErrorPrediateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass defaultDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass metricDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externPredicateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externMetricDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externAggregatorDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externDatatypeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass namedElementEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionEClass = null; + + /** + * + * + * @generated + */ + private EClass ifElseEClass = null; + + /** + * + * + * @generated + */ + private EClass letEClass = null; + + /** + * + * + * @generated + */ + private EClass letBindingEClass = null; + + /** + * + * + * @generated + */ + private EClass caseEClass = null; + + /** + * + * + * @generated + */ + private EClass localVariablesEClass = null; + + /** + * + * + * @generated + */ + private EClass quantifiedExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass aggregationEClass = null; + + /** + * + * + * @generated + */ + private EClass callEClass = null; + + /** + * + * + * @generated + */ + private EClass argumentListEClass = null; + + /** + * + * + * @generated + */ + private EClass argumentEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass starArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass typedArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass typedStarArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass referenceEClass = null; + + /** + * + * + * @generated + */ + private EClass intervalEClass = null; + + /** + * + * + * @generated + */ + private EClass literalEClass = null; + + /** + * + * + * @generated + */ + private EClass logicLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass numericLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass infinityLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass emptyIntervalLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass stringLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass classDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass memberDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass multiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass manyMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass exactMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass boundedMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass scopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass exactScopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass boundedScopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass lowerBoundedScopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass objectiveDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass interpretationEClass = null; + + /** + * + * + * @generated + */ + private EClass variableEClass = null; + + /** + * + * + * @generated + */ + private EClass disjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass switchEClass = null; + + /** + * + * + * @generated + */ + private EClass conjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonEClass = null; + + /** + * + * + * @generated + */ + private EClass binaryExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass castExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass nodeEClass = null; + + /** + * + * + * @generated + */ + private EClass functorEClass = null; + + /** + * + * + * @generated + */ + private EClass predicateEClass = null; + + /** + * + * + * @generated + */ + private EClass metricEClass = null; + + /** + * + * + * @generated + */ + private EEnum binaryOperatorEEnum = null; + + /** + * + * + * @generated + */ + private EEnum unaryOpEEnum = null; + + /** + * + * + * @generated + */ + private EEnum logicValueEEnum = null; + + /** + * + * + * @generated + */ + private EEnum objectiveKindEEnum = null; + + /** + * + * + * @generated + */ + private EEnum quantifierEEnum = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI + * @see #init() + * @generated + */ + private SolverLanguagePackageImpl() { + super(eNS_URI, SolverLanguageFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static SolverLanguagePackage init() { + if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI); + + // Obtain or create and register package + Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI); + SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl(); + + isInited = true; + + // Create package meta-data objects + theSolverLanguagePackage.createPackageContents(); + + // Initialize created meta-data + theSolverLanguagePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theSolverLanguagePackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage); + return theSolverLanguagePackage; + } + + /** + * + * + * @generated + */ + @Override + public EClass getProblem() { + return problemEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getProblem_Statements() { + return (EReference)problemEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getStatement() { + return statementEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getPredicateDefinition() { + return predicateDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getPredicateDefinition_Head() { + return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getPredicateDefinition_Body() { + return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getPredicateDefinition_Functional() { + return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getPredicateDefinition_Error() { + return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getUnnamedErrorPrediateDefinition() { + return unnamedErrorPrediateDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getUnnamedErrorPrediateDefinition_ArgumentList() { + return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getUnnamedErrorPrediateDefinition_Body() { + return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getDefaultDefinition() { + return defaultDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getDefaultDefinition_Head() { + return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getDefaultDefinition_Range() { + return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMetricDefinition() { + return metricDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetricDefinition_Head() { + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetricDefinition_Body() { + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetricDefinition_Type() { + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternPredicateDefinition() { + return externPredicateDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternPredicateDefinition_Name() { + return (EAttribute)externPredicateDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternPredicateDefinition_ArgumentList() { + return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternMetricDefinition() { + return externMetricDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternMetricDefinition_Type() { + return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternMetricDefinition_Name() { + return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternMetricDefinition_ArgumentList() { + return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternAggregatorDefinition() { + return externAggregatorDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternAggregatorDefinition_Type() { + return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternAggregatorDefinition_Name() { + return (EAttribute)externAggregatorDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternAggregatorDefinition_InputType() { + return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternDatatypeDefinition() { + return externDatatypeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternDatatypeDefinition_Name() { + return (EAttribute)externDatatypeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternDatatypeDefinition_Supertypes() { + return (EReference)externDatatypeDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getNamedElement() { + return namedElementEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getNamedElement_Name() { + return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExpression() { + return expressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getIfElse() { + return ifElseEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getIfElse_Then() { + return (EReference)ifElseEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getIfElse_Else() { + return (EReference)ifElseEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getIfElse_Condition() { + return (EReference)ifElseEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLet() { + return letEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getLet_Bindings() { + return (EReference)letEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getLet_Body() { + return (EReference)letEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLetBinding() { + return letBindingEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getLetBinding_Variable() { + return (EReference)letBindingEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getLetBinding_Value() { + return (EReference)letBindingEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCase() { + return caseEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCase_Body() { + return (EReference)caseEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCase_Condition() { + return (EReference)caseEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLocalVariables() { + return localVariablesEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getLocalVariables_Variables() { + return (EReference)localVariablesEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getQuantifiedExpression() { + return quantifiedExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getQuantifiedExpression_LocalVariables() { + return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getQuantifiedExpression_Body() { + return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getQuantifiedExpression_Quantifier() { + return (EAttribute)quantifiedExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getAggregation() { + return aggregationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_Op() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_LocalVariables() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_Body() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_Condition() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCall() { + return callEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCall_Functor() { + return (EReference)callEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getCall_TransitiveClosure() { + return (EAttribute)callEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getCall_ReflexiveTransitiveClosure() { + return (EAttribute)callEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCall_ArgumentList() { + return (EReference)callEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getArgumentList() { + return argumentListEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getArgumentList_Arguments() { + return (EReference)argumentListEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getArgument() { + return argumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getExpressionArgument() { + return expressionArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getExpressionArgument_Body() { + return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getStarArgument() { + return starArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getTypedArgument() { + return typedArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getTypedArgument_Type() { + return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getTypedArgument_Variable() { + return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getTypedStarArgument() { + return typedStarArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getTypedStarArgument_Type() { + return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getReference() { + return referenceEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getReference_Referred() { + return (EReference)referenceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInterval() { + return intervalEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterval_LowerBound() { + return (EReference)intervalEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterval_UpperBound() { + return (EReference)intervalEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLiteral() { + return literalEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getLogicLiteral() { + return logicLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLogicLiteral_Value() { + return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getNumericLiteral() { + return numericLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getNumericLiteral_Value() { + return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInfinityLiteral() { + return infinityLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getEmptyIntervalLiteral() { + return emptyIntervalLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getStringLiteral() { + return stringLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getStringLiteral_Value() { + return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getClassDefinition() { + return classDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getClassDefinition_Abstract() { + return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getClassDefinition_Name() { + return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getClassDefinition_Superclasses() { + return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getClassDefinition_Members() { + return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMemberDefinition() { + return memberDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getMemberDefinition_Containment() { + return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMemberDefinition_Type() { + return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMemberDefinition_Multiplicity() { + return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getMemberDefinition_Name() { + return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMemberDefinition_Opposite() { + return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMultiplicity() { + return multiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getManyMultiplicity() { + return manyMultiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getExactMultiplicity() { + return exactMultiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExactMultiplicity_Multiplicity() { + return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getBoundedMultiplicity() { + return boundedMultiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedMultiplicity_LowerBound() { + return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedMultiplicity_UpperBound() { + return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getScopeDefinition() { + return scopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getScopeDefinition_Type() { + return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExactScopeDefinition() { + return exactScopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExactScopeDefinition_ExactScope() { + return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getBoundedScopeDefinition() { + return boundedScopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedScopeDefinition_LowerBound() { + return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedScopeDefinition_UpperBound() { + return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLowerBoundedScopeDefinition() { + return lowerBoundedScopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLowerBoundedScopeDefinition_LowerBound() { + return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getObjectiveDefinition() { + return objectiveDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getObjectiveDefinition_Kind() { + return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getObjectiveDefinition_Objective() { + return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInterpretation() { + return interpretationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterpretation_Body() { + return (EReference)interpretationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterpretation_Range() { + return (EReference)interpretationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getVariable() { + return variableEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getVariable_Type() { + return (EReference)variableEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getDisjunction() { + return disjunctionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getDisjunction_Children() { + return (EReference)disjunctionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getSwitch() { + return switchEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getSwitch_Cases() { + return (EReference)switchEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getConjunction() { + return conjunctionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getConjunction_Children() { + return (EReference)conjunctionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getComparison() { + return comparisonEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getComparison_Left() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getComparison_Op() { + return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getComparison_Right() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getBinaryExpression() { + return binaryExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getBinaryExpression_Left() { + return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBinaryExpression_Op() { + return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getBinaryExpression_Right() { + return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCastExpression() { + return castExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCastExpression_Body() { + return (EReference)castExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCastExpression_Type() { + return (EReference)castExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getUnaryExpression() { + return unaryExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getUnaryExpression_Op() { + return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getUnaryExpression_Body() { + return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getNode() { + return nodeEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getNode_WithId() { + return (EAttribute)nodeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getFunctor() { + return functorEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getFunctor_Parameters() { + return (EReference)functorEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getPredicate() { + return predicateEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getMetric() { + return metricEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetric_ReturnType() { + return (EReference)metricEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EEnum getBinaryOperator() { + return binaryOperatorEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getUnaryOp() { + return unaryOpEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getLogicValue() { + return logicValueEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getObjectiveKind() { + return objectiveKindEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getQuantifier() { + return quantifierEEnum; + } + + /** + * + * + * @generated + */ + @Override + public SolverLanguageFactory getSolverLanguageFactory() { + return (SolverLanguageFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + problemEClass = createEClass(PROBLEM); + createEReference(problemEClass, PROBLEM__STATEMENTS); + + statementEClass = createEClass(STATEMENT); + + predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); + createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD); + createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY); + createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL); + createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR); + + unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION); + createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST); + createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY); + + defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION); + createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD); + createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE); + + metricDefinitionEClass = createEClass(METRIC_DEFINITION); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__TYPE); + + externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION); + createEAttribute(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__NAME); + createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST); + + externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION); + createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE); + createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__NAME); + createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__ARGUMENT_LIST); + + externAggregatorDefinitionEClass = createEClass(EXTERN_AGGREGATOR_DEFINITION); + createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__TYPE); + createEAttribute(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__NAME); + createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE); + + externDatatypeDefinitionEClass = createEClass(EXTERN_DATATYPE_DEFINITION); + createEAttribute(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__NAME); + createEReference(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__SUPERTYPES); + + namedElementEClass = createEClass(NAMED_ELEMENT); + createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME); + + expressionEClass = createEClass(EXPRESSION); + + ifElseEClass = createEClass(IF_ELSE); + createEReference(ifElseEClass, IF_ELSE__THEN); + createEReference(ifElseEClass, IF_ELSE__ELSE); + createEReference(ifElseEClass, IF_ELSE__CONDITION); + + letEClass = createEClass(LET); + createEReference(letEClass, LET__BINDINGS); + createEReference(letEClass, LET__BODY); + + letBindingEClass = createEClass(LET_BINDING); + createEReference(letBindingEClass, LET_BINDING__VARIABLE); + createEReference(letBindingEClass, LET_BINDING__VALUE); + + caseEClass = createEClass(CASE); + createEReference(caseEClass, CASE__BODY); + createEReference(caseEClass, CASE__CONDITION); + + localVariablesEClass = createEClass(LOCAL_VARIABLES); + createEReference(localVariablesEClass, LOCAL_VARIABLES__VARIABLES); + + quantifiedExpressionEClass = createEClass(QUANTIFIED_EXPRESSION); + createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__LOCAL_VARIABLES); + createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__BODY); + createEAttribute(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__QUANTIFIER); + + aggregationEClass = createEClass(AGGREGATION); + createEReference(aggregationEClass, AGGREGATION__OP); + createEReference(aggregationEClass, AGGREGATION__LOCAL_VARIABLES); + createEReference(aggregationEClass, AGGREGATION__BODY); + createEReference(aggregationEClass, AGGREGATION__CONDITION); + + callEClass = createEClass(CALL); + createEReference(callEClass, CALL__FUNCTOR); + createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE); + createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE); + createEReference(callEClass, CALL__ARGUMENT_LIST); + + argumentListEClass = createEClass(ARGUMENT_LIST); + createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); + + argumentEClass = createEClass(ARGUMENT); + + expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT); + createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY); + + starArgumentEClass = createEClass(STAR_ARGUMENT); + + typedArgumentEClass = createEClass(TYPED_ARGUMENT); + createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE); + createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE); + + typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT); + createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE); + + referenceEClass = createEClass(REFERENCE); + createEReference(referenceEClass, REFERENCE__REFERRED); + + intervalEClass = createEClass(INTERVAL); + createEReference(intervalEClass, INTERVAL__LOWER_BOUND); + createEReference(intervalEClass, INTERVAL__UPPER_BOUND); + + literalEClass = createEClass(LITERAL); + + logicLiteralEClass = createEClass(LOGIC_LITERAL); + createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE); + + numericLiteralEClass = createEClass(NUMERIC_LITERAL); + createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE); + + infinityLiteralEClass = createEClass(INFINITY_LITERAL); + + emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL); + + stringLiteralEClass = createEClass(STRING_LITERAL); + createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); + + classDefinitionEClass = createEClass(CLASS_DEFINITION); + createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT); + createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME); + createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES); + createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS); + + memberDefinitionEClass = createEClass(MEMBER_DEFINITION); + createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT); + createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE); + createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY); + createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME); + createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE); + + multiplicityEClass = createEClass(MULTIPLICITY); + + manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY); + + exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); + createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY); + + boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND); + + scopeDefinitionEClass = createEClass(SCOPE_DEFINITION); + createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE); + + exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION); + createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE); + + boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION); + createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); + createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND); + + lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION); + createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); + + objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION); + createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND); + createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE); + + interpretationEClass = createEClass(INTERPRETATION); + createEReference(interpretationEClass, INTERPRETATION__BODY); + createEReference(interpretationEClass, INTERPRETATION__RANGE); + + variableEClass = createEClass(VARIABLE); + createEReference(variableEClass, VARIABLE__TYPE); + + disjunctionEClass = createEClass(DISJUNCTION); + createEReference(disjunctionEClass, DISJUNCTION__CHILDREN); + + switchEClass = createEClass(SWITCH); + createEReference(switchEClass, SWITCH__CASES); + + conjunctionEClass = createEClass(CONJUNCTION); + createEReference(conjunctionEClass, CONJUNCTION__CHILDREN); + + comparisonEClass = createEClass(COMPARISON); + createEReference(comparisonEClass, COMPARISON__LEFT); + createEAttribute(comparisonEClass, COMPARISON__OP); + createEReference(comparisonEClass, COMPARISON__RIGHT); + + binaryExpressionEClass = createEClass(BINARY_EXPRESSION); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT); + createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT); + + castExpressionEClass = createEClass(CAST_EXPRESSION); + createEReference(castExpressionEClass, CAST_EXPRESSION__BODY); + createEReference(castExpressionEClass, CAST_EXPRESSION__TYPE); + + unaryExpressionEClass = createEClass(UNARY_EXPRESSION); + createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP); + createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY); + + nodeEClass = createEClass(NODE); + createEAttribute(nodeEClass, NODE__WITH_ID); + + functorEClass = createEClass(FUNCTOR); + createEReference(functorEClass, FUNCTOR__PARAMETERS); + + predicateEClass = createEClass(PREDICATE); + + metricEClass = createEClass(METRIC); + createEReference(metricEClass, METRIC__RETURN_TYPE); + + // Create enums + binaryOperatorEEnum = createEEnum(BINARY_OPERATOR); + unaryOpEEnum = createEEnum(UNARY_OP); + logicValueEEnum = createEEnum(LOGIC_VALUE); + objectiveKindEEnum = createEEnum(OBJECTIVE_KIND); + quantifierEEnum = createEEnum(QUANTIFIER); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + predicateDefinitionEClass.getESuperTypes().add(this.getStatement()); + unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement()); + defaultDefinitionEClass.getESuperTypes().add(this.getStatement()); + metricDefinitionEClass.getESuperTypes().add(this.getStatement()); + externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement()); + externMetricDefinitionEClass.getESuperTypes().add(this.getStatement()); + externAggregatorDefinitionEClass.getESuperTypes().add(this.getStatement()); + externDatatypeDefinitionEClass.getESuperTypes().add(this.getStatement()); + expressionEClass.getESuperTypes().add(this.getStatement()); + ifElseEClass.getESuperTypes().add(this.getExpression()); + letEClass.getESuperTypes().add(this.getExpression()); + caseEClass.getESuperTypes().add(this.getExpression()); + quantifiedExpressionEClass.getESuperTypes().add(this.getExpression()); + aggregationEClass.getESuperTypes().add(this.getExpression()); + callEClass.getESuperTypes().add(this.getExpression()); + expressionArgumentEClass.getESuperTypes().add(this.getArgument()); + starArgumentEClass.getESuperTypes().add(this.getArgument()); + typedArgumentEClass.getESuperTypes().add(this.getArgument()); + typedStarArgumentEClass.getESuperTypes().add(this.getArgument()); + referenceEClass.getESuperTypes().add(this.getExpression()); + intervalEClass.getESuperTypes().add(this.getExpression()); + literalEClass.getESuperTypes().add(this.getExpression()); + logicLiteralEClass.getESuperTypes().add(this.getLiteral()); + numericLiteralEClass.getESuperTypes().add(this.getLiteral()); + infinityLiteralEClass.getESuperTypes().add(this.getLiteral()); + emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral()); + stringLiteralEClass.getESuperTypes().add(this.getLiteral()); + classDefinitionEClass.getESuperTypes().add(this.getStatement()); + manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + scopeDefinitionEClass.getESuperTypes().add(this.getStatement()); + exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); + boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); + lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); + objectiveDefinitionEClass.getESuperTypes().add(this.getStatement()); + interpretationEClass.getESuperTypes().add(this.getStatement()); + variableEClass.getESuperTypes().add(this.getNamedElement()); + disjunctionEClass.getESuperTypes().add(this.getExpression()); + switchEClass.getESuperTypes().add(this.getExpression()); + conjunctionEClass.getESuperTypes().add(this.getExpression()); + comparisonEClass.getESuperTypes().add(this.getExpression()); + binaryExpressionEClass.getESuperTypes().add(this.getExpression()); + castExpressionEClass.getESuperTypes().add(this.getExpression()); + unaryExpressionEClass.getESuperTypes().add(this.getExpression()); + nodeEClass.getESuperTypes().add(this.getNamedElement()); + functorEClass.getESuperTypes().add(this.getNamedElement()); + predicateEClass.getESuperTypes().add(this.getFunctor()); + metricEClass.getESuperTypes().add(this.getFunctor()); + + // Initialize classes and features; add operations and parameters + initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); + + initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + initEReference(getMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExternPredicateDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternPredicateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExternMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getExternMetricDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternMetricDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externAggregatorDefinitionEClass, ExternAggregatorDefinition.class, "ExternAggregatorDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExternAggregatorDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getExternAggregatorDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternAggregatorDefinition_InputType(), this.getNamedElement(), null, "inputType", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externDatatypeDefinitionEClass, ExternDatatypeDefinition.class, "ExternDatatypeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExternDatatypeDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternDatatypeDefinition_Supertypes(), this.getNamedElement(), null, "supertypes", null, 0, -1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + + initEClass(letEClass, Let.class, "Let", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLet_Bindings(), this.getLetBinding(), null, "bindings", null, 0, -1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLet_Body(), this.getExpression(), null, "body", null, 0, 1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(letBindingEClass, LetBinding.class, "LetBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLetBinding_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLetBinding_Value(), this.getExpression(), null, "value", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(localVariablesEClass, LocalVariables.class, "LocalVariables", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLocalVariables_Variables(), this.getNamedElement(), null, "variables", null, 0, -1, LocalVariables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(quantifiedExpressionEClass, QuantifiedExpression.class, "QuantifiedExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getQuantifiedExpression_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getQuantifiedExpression_Body(), this.getExpression(), null, "body", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getQuantifiedExpression_Quantifier(), this.getQuantifier(), "quantifier", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAggregation_Op(), this.getNamedElement(), null, "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAggregation_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + 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); + 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); + + initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); + + initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getClassDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getClassDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getClassDefinition_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getClassDefinition_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); + 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); + + initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getInterpretation_Body(), this.getExpression(), null, "body", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getInterpretation_Range(), this.getExpression(), null, "range", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getVariable_Type(), this.getNamedElement(), null, "type", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + + initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + + initEClass(castExpressionEClass, CastExpression.class, "CastExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getCastExpression_Body(), this.getExpression(), null, "body", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCastExpression_Type(), this.getNamedElement(), null, "type", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNode_WithId(), ecorePackage.getEBoolean(), "withId", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(functorEClass, Functor.class, "Functor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunctor_Parameters(), this.getVariable(), null, "parameters", null, 0, -1, Functor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(metricEClass, Metric.class, "Metric", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getMetric_ReturnType(), this.getNamedElement(), null, "returnType", null, 0, 1, Metric.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator"); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IMPLIES); + + initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp"); + addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG); + addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS); + addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS); + addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY); + addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST); + addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT); + + initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); + addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); + addEEnumLiteral(logicValueEEnum, LogicValue.FALSE); + addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN); + addEEnumLiteral(logicValueEEnum, LogicValue.ERROR); + + initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind"); + addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE); + addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE); + + initEEnum(quantifierEEnum, Quantifier.class, "Quantifier"); + addEEnumLiteral(quantifierEEnum, Quantifier.EXISTS); + addEEnumLiteral(quantifierEEnum, Quantifier.FORALL); + addEEnumLiteral(quantifierEEnum, Quantifier.COUNT); + + // Create resource + createResource(eNS_URI); + } + +} //SolverLanguagePackageImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java new file mode 100644 index 00000000..93d3ce7f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java @@ -0,0 +1,38 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; + +/** + * + * An implementation of the model object 'Star Argument'. + * + * + * @generated + */ +public class StarArgumentImpl extends ArgumentImpl implements StarArgument { + /** + * + * + * @generated + */ + protected StarArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.STAR_ARGUMENT; + } + +} //StarArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java new file mode 100644 index 00000000..bf4d9e6a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java @@ -0,0 +1,40 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Statement; + +/** + * + * An implementation of the model object 'Statement'. + * + * + * @generated + */ +public class StatementImpl extends MinimalEObjectImpl.Container implements Statement { + /** + * + * + * @generated + */ + protected StatementImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.STATEMENT; + } + +} //StatementImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java new file mode 100644 index 00000000..30bef702 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java @@ -0,0 +1,165 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; + +/** + * + * An implementation of the model object 'String Literal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class StringLiteralImpl extends LiteralImpl implements StringLiteral { + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected StringLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.STRING_LITERAL; + } + + /** + * + * + * @generated + */ + @Override + public String getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(String newValue) { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //StringLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java new file mode 100644 index 00000000..23215a72 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java @@ -0,0 +1,152 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Switch; + +/** + * + * An implementation of the model object 'Switch'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl#getCases Cases}
  • + *
+ * + * @generated + */ +public class SwitchImpl extends ExpressionImpl implements Switch { + /** + * The cached value of the '{@link #getCases() Cases}' containment reference list. + * + * + * @see #getCases() + * @generated + * @ordered + */ + protected EList cases; + + /** + * + * + * @generated + */ + protected SwitchImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.SWITCH; + } + + /** + * + * + * @generated + */ + @Override + public EList getCases() { + if (cases == null) { + cases = new EObjectContainmentEList(Case.class, this, SolverLanguagePackage.SWITCH__CASES); + } + return cases; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.SWITCH__CASES: + return ((InternalEList)getCases()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.SWITCH__CASES: + return getCases(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.SWITCH__CASES: + getCases().clear(); + getCases().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SWITCH__CASES: + getCases().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SWITCH__CASES: + return cases != null && !cases.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //SwitchImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java new file mode 100644 index 00000000..03032f1c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java @@ -0,0 +1,221 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; + +/** + * + * An implementation of the model object 'Typed Argument'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getVariable Variable}
  • + *
+ * + * @generated + */ +public class TypedArgumentImpl extends ArgumentImpl implements TypedArgument { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * The cached value of the '{@link #getVariable() Variable}' reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected NamedElement variable; + + /** + * + * + * @generated + */ + protected TypedArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.TYPED_ARGUMENT; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getVariable() { + if (variable != null && variable.eIsProxy()) { + InternalEObject oldVariable = (InternalEObject)variable; + variable = (NamedElement)eResolveProxy(oldVariable); + if (variable != oldVariable) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable)); + } + } + return variable; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetVariable() { + return variable; + } + + /** + * + * + * @generated + */ + @Override + public void setVariable(NamedElement newVariable) { + NamedElement oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + if (resolve) return getVariable(); + return basicGetVariable(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + setVariable((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + setVariable((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + return type != null; + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + return variable != null; + } + return super.eIsSet(featureID); + } + +} //TypedArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java new file mode 100644 index 00000000..c806b3c2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java @@ -0,0 +1,159 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; + +/** + * + * An implementation of the model object 'Typed Star Argument'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl#getType Type}
  • + *
+ * + * @generated + */ +public class TypedStarArgumentImpl extends ArgumentImpl implements TypedStarArgument { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected TypedStarArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //TypedStarArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java new file mode 100644 index 00000000..a3a7b1dc --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java @@ -0,0 +1,249 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp; + +/** + * + * An implementation of the model object 'Unary Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression { + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final UnaryOp OP_EDEFAULT = UnaryOp.NEG; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected UnaryOp op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected UnaryExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.UNARY_EXPRESSION; + } + + /** + * + * + * @generated + */ + @Override + public UnaryOp getOp() { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(UnaryOp newOp) { + UnaryOp oldOp = op; + op = newOp == null ? OP_EDEFAULT : newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + return getOp(); + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + setOp((UnaryOp)newValue); + return; + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (op: "); + result.append(op); + result.append(')'); + return result.toString(); + } + +} //UnaryExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java new file mode 100644 index 00000000..35450b74 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java @@ -0,0 +1,247 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; + +/** + * + * An implementation of the model object 'Unnamed Error Prediate Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getArgumentList Argument List}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class UnnamedErrorPrediateDefinitionImpl extends StatementImpl implements UnnamedErrorPrediateDefinition { + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected UnnamedErrorPrediateDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList getArgumentList() { + return argumentList; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) { + ArgumentList oldArgumentList = argumentList; + argumentList = newArgumentList; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setArgumentList(ArgumentList newArgumentList) { + if (newArgumentList != argumentList) { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + return basicSetArgumentList(null, msgs); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + return getArgumentList(); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + return argumentList != null; + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //UnnamedErrorPrediateDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java new file mode 100644 index 00000000..1762d35c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java @@ -0,0 +1,159 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model object 'Variable'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl#getType Type}
  • + *
+ * + * @generated + */ +public class VariableImpl extends NamedElementImpl implements Variable { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected VariableImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.VARIABLE; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.VARIABLE__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //VariableImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java new file mode 100644 index 00000000..23971e9d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java @@ -0,0 +1,1147 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.viatra.solver.language.solverLanguage.*; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage + * @generated + */ +public class SolverLanguageAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static SolverLanguagePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public SolverLanguageAdapterFactory() { + if (modelPackage == null) { + modelPackage = SolverLanguagePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected SolverLanguageSwitch modelSwitch = + new SolverLanguageSwitch() { + @Override + public Adapter caseProblem(Problem object) { + return createProblemAdapter(); + } + @Override + public Adapter caseStatement(Statement object) { + return createStatementAdapter(); + } + @Override + public Adapter casePredicateDefinition(PredicateDefinition object) { + return createPredicateDefinitionAdapter(); + } + @Override + public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) { + return createUnnamedErrorPrediateDefinitionAdapter(); + } + @Override + public Adapter caseDefaultDefinition(DefaultDefinition object) { + return createDefaultDefinitionAdapter(); + } + @Override + public Adapter caseMetricDefinition(MetricDefinition object) { + return createMetricDefinitionAdapter(); + } + @Override + public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object) { + return createExternPredicateDefinitionAdapter(); + } + @Override + public Adapter caseExternMetricDefinition(ExternMetricDefinition object) { + return createExternMetricDefinitionAdapter(); + } + @Override + public Adapter caseExternAggregatorDefinition(ExternAggregatorDefinition object) { + return createExternAggregatorDefinitionAdapter(); + } + @Override + public Adapter caseExternDatatypeDefinition(ExternDatatypeDefinition object) { + return createExternDatatypeDefinitionAdapter(); + } + @Override + public Adapter caseNamedElement(NamedElement object) { + return createNamedElementAdapter(); + } + @Override + public Adapter caseExpression(Expression object) { + return createExpressionAdapter(); + } + @Override + public Adapter caseIfElse(IfElse object) { + return createIfElseAdapter(); + } + @Override + public Adapter caseLet(Let object) { + return createLetAdapter(); + } + @Override + public Adapter caseLetBinding(LetBinding object) { + return createLetBindingAdapter(); + } + @Override + public Adapter caseCase(Case object) { + return createCaseAdapter(); + } + @Override + public Adapter caseLocalVariables(LocalVariables object) { + return createLocalVariablesAdapter(); + } + @Override + public Adapter caseQuantifiedExpression(QuantifiedExpression object) { + return createQuantifiedExpressionAdapter(); + } + @Override + public Adapter caseAggregation(Aggregation object) { + return createAggregationAdapter(); + } + @Override + public Adapter caseCall(Call object) { + return createCallAdapter(); + } + @Override + public Adapter caseArgumentList(ArgumentList object) { + return createArgumentListAdapter(); + } + @Override + public Adapter caseArgument(Argument object) { + return createArgumentAdapter(); + } + @Override + public Adapter caseExpressionArgument(ExpressionArgument object) { + return createExpressionArgumentAdapter(); + } + @Override + public Adapter caseStarArgument(StarArgument object) { + return createStarArgumentAdapter(); + } + @Override + public Adapter caseTypedArgument(TypedArgument object) { + return createTypedArgumentAdapter(); + } + @Override + public Adapter caseTypedStarArgument(TypedStarArgument object) { + return createTypedStarArgumentAdapter(); + } + @Override + public Adapter caseReference(Reference object) { + return createReferenceAdapter(); + } + @Override + public Adapter caseInterval(Interval object) { + return createIntervalAdapter(); + } + @Override + public Adapter caseLiteral(Literal object) { + return createLiteralAdapter(); + } + @Override + public Adapter caseLogicLiteral(LogicLiteral object) { + return createLogicLiteralAdapter(); + } + @Override + public Adapter caseNumericLiteral(NumericLiteral object) { + return createNumericLiteralAdapter(); + } + @Override + public Adapter caseInfinityLiteral(InfinityLiteral object) { + return createInfinityLiteralAdapter(); + } + @Override + public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object) { + return createEmptyIntervalLiteralAdapter(); + } + @Override + public Adapter caseStringLiteral(StringLiteral object) { + return createStringLiteralAdapter(); + } + @Override + public Adapter caseClassDefinition(ClassDefinition object) { + return createClassDefinitionAdapter(); + } + @Override + public Adapter caseMemberDefinition(MemberDefinition object) { + return createMemberDefinitionAdapter(); + } + @Override + public Adapter caseMultiplicity(Multiplicity object) { + return createMultiplicityAdapter(); + } + @Override + public Adapter caseManyMultiplicity(ManyMultiplicity object) { + return createManyMultiplicityAdapter(); + } + @Override + public Adapter caseExactMultiplicity(ExactMultiplicity object) { + return createExactMultiplicityAdapter(); + } + @Override + public Adapter caseBoundedMultiplicity(BoundedMultiplicity object) { + return createBoundedMultiplicityAdapter(); + } + @Override + public Adapter caseScopeDefinition(ScopeDefinition object) { + return createScopeDefinitionAdapter(); + } + @Override + public Adapter caseExactScopeDefinition(ExactScopeDefinition object) { + return createExactScopeDefinitionAdapter(); + } + @Override + public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object) { + return createBoundedScopeDefinitionAdapter(); + } + @Override + public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) { + return createLowerBoundedScopeDefinitionAdapter(); + } + @Override + public Adapter caseObjectiveDefinition(ObjectiveDefinition object) { + return createObjectiveDefinitionAdapter(); + } + @Override + public Adapter caseInterpretation(Interpretation object) { + return createInterpretationAdapter(); + } + @Override + public Adapter caseVariable(Variable object) { + return createVariableAdapter(); + } + @Override + public Adapter caseDisjunction(Disjunction object) { + return createDisjunctionAdapter(); + } + @Override + public Adapter caseSwitch(Switch object) { + return createSwitchAdapter(); + } + @Override + public Adapter caseConjunction(Conjunction object) { + return createConjunctionAdapter(); + } + @Override + public Adapter caseComparison(Comparison object) { + return createComparisonAdapter(); + } + @Override + public Adapter caseBinaryExpression(BinaryExpression object) { + return createBinaryExpressionAdapter(); + } + @Override + public Adapter caseCastExpression(CastExpression object) { + return createCastExpressionAdapter(); + } + @Override + public Adapter caseUnaryExpression(UnaryExpression object) { + return createUnaryExpressionAdapter(); + } + @Override + public Adapter caseNode(Node object) { + return createNodeAdapter(); + } + @Override + public Adapter caseFunctor(Functor object) { + return createFunctorAdapter(); + } + @Override + public Adapter casePredicate(Predicate object) { + return createPredicateAdapter(); + } + @Override + public Adapter caseMetric(Metric object) { + return createMetricAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem Problem}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem + * @generated + */ + public Adapter createProblemAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement Statement}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Statement + * @generated + */ + public Adapter createStatementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition Predicate Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition + * @generated + */ + public Adapter createPredicateDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition Unnamed Error Prediate Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition + * @generated + */ + public Adapter createUnnamedErrorPrediateDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition Default Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition + * @generated + */ + public Adapter createDefaultDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition Metric Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition + * @generated + */ + public Adapter createMetricDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition Extern Predicate Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition + * @generated + */ + public Adapter createExternPredicateDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition Extern Metric Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition + * @generated + */ + public Adapter createExternMetricDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition Extern Aggregator Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition + * @generated + */ + public Adapter createExternAggregatorDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition Extern Datatype Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition + * @generated + */ + public Adapter createExternDatatypeDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement Named Element}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement + * @generated + */ + public Adapter createNamedElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression Expression}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Expression + * @generated + */ + public Adapter createExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse If Else}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse + * @generated + */ + public Adapter createIfElseAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Let Let}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Let + * @generated + */ + public Adapter createLetAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding Let Binding}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding + * @generated + */ + public Adapter createLetBindingAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case Case}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Case + * @generated + */ + public Adapter createCaseAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables Local Variables}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables + * @generated + */ + public Adapter createLocalVariablesAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression Quantified Expression}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression + * @generated + */ + public Adapter createQuantifiedExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation Aggregation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation + * @generated + */ + public Adapter createAggregationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call Call}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call + * @generated + */ + public Adapter createCallAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList Argument List}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList + * @generated + */ + public Adapter createArgumentListAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument Argument}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Argument + * @generated + */ + public Adapter createArgumentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument Expression Argument}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument + * @generated + */ + public Adapter createExpressionArgumentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument Star Argument}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument + * @generated + */ + public Adapter createStarArgumentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument Typed Argument}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument + * @generated + */ + public Adapter createTypedArgumentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument Typed Star Argument}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument + * @generated + */ + public Adapter createTypedStarArgumentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference Reference}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Reference + * @generated + */ + public Adapter createReferenceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval Interval}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval + * @generated + */ + public Adapter createIntervalAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal Literal}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Literal + * @generated + */ + public Adapter createLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral Logic Literal}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral + * @generated + */ + public Adapter createLogicLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral Numeric Literal}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral + * @generated + */ + public Adapter createNumericLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral Infinity Literal}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral + * @generated + */ + public Adapter createInfinityLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral Empty Interval Literal}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral + * @generated + */ + public Adapter createEmptyIntervalLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral String Literal}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral + * @generated + */ + public Adapter createStringLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition Class Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition + * @generated + */ + public Adapter createClassDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition Member Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition + * @generated + */ + public Adapter createMemberDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity Multiplicity}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity + * @generated + */ + public Adapter createMultiplicityAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity Many Multiplicity}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity + * @generated + */ + public Adapter createManyMultiplicityAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity Exact Multiplicity}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity + * @generated + */ + public Adapter createExactMultiplicityAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity Bounded Multiplicity}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity + * @generated + */ + public Adapter createBoundedMultiplicityAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition Scope Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition + * @generated + */ + public Adapter createScopeDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition Exact Scope Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition + * @generated + */ + public Adapter createExactScopeDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition Bounded Scope Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition + * @generated + */ + public Adapter createBoundedScopeDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition Lower Bounded Scope Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition + * @generated + */ + public Adapter createLowerBoundedScopeDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition Objective Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition + * @generated + */ + public Adapter createObjectiveDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation Interpretation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation + * @generated + */ + public Adapter createInterpretationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable Variable}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Variable + * @generated + */ + public Adapter createVariableAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction Disjunction}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction + * @generated + */ + public Adapter createDisjunctionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch Switch}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Switch + * @generated + */ + public Adapter createSwitchAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction Conjunction}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction + * @generated + */ + public Adapter createConjunctionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison Comparison}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison + * @generated + */ + public Adapter createComparisonAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression Binary Expression}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression + * @generated + */ + public Adapter createBinaryExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression Cast Expression}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression + * @generated + */ + public Adapter createCastExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression Unary Expression}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression + * @generated + */ + public Adapter createUnaryExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Node Node}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Node + * @generated + */ + public Adapter createNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor Functor}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Functor + * @generated + */ + public Adapter createFunctorAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate Predicate}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate + * @generated + */ + public Adapter createPredicateAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric Metric}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.Metric + * @generated + */ + public Adapter createMetricAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //SolverLanguageAdapterFactory diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java new file mode 100644 index 00000000..4e5929e6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java @@ -0,0 +1,1388 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import org.eclipse.viatra.solver.language.solverLanguage.*; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage + * @generated + */ +public class SolverLanguageSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static SolverLanguagePackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public SolverLanguageSwitch() { + if (modelPackage == null) { + modelPackage = SolverLanguagePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case SolverLanguagePackage.PROBLEM: { + Problem problem = (Problem)theEObject; + T result = caseProblem(problem); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.STATEMENT: { + Statement statement = (Statement)theEObject; + T result = caseStatement(statement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.PREDICATE_DEFINITION: { + PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject; + T result = casePredicateDefinition(predicateDefinition); + if (result == null) result = caseStatement(predicateDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: { + UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject; + T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition); + if (result == null) result = caseStatement(unnamedErrorPrediateDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.DEFAULT_DEFINITION: { + DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject; + T result = caseDefaultDefinition(defaultDefinition); + if (result == null) result = caseStatement(defaultDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.METRIC_DEFINITION: { + MetricDefinition metricDefinition = (MetricDefinition)theEObject; + T result = caseMetricDefinition(metricDefinition); + if (result == null) result = caseStatement(metricDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: { + ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject; + T result = caseExternPredicateDefinition(externPredicateDefinition); + if (result == null) result = caseStatement(externPredicateDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: { + ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject; + T result = caseExternMetricDefinition(externMetricDefinition); + if (result == null) result = caseStatement(externMetricDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: { + ExternAggregatorDefinition externAggregatorDefinition = (ExternAggregatorDefinition)theEObject; + T result = caseExternAggregatorDefinition(externAggregatorDefinition); + if (result == null) result = caseStatement(externAggregatorDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: { + ExternDatatypeDefinition externDatatypeDefinition = (ExternDatatypeDefinition)theEObject; + T result = caseExternDatatypeDefinition(externDatatypeDefinition); + if (result == null) result = caseStatement(externDatatypeDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.NAMED_ELEMENT: { + NamedElement namedElement = (NamedElement)theEObject; + T result = caseNamedElement(namedElement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXPRESSION: { + Expression expression = (Expression)theEObject; + T result = caseExpression(expression); + if (result == null) result = caseStatement(expression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.IF_ELSE: { + IfElse ifElse = (IfElse)theEObject; + T result = caseIfElse(ifElse); + if (result == null) result = caseExpression(ifElse); + if (result == null) result = caseStatement(ifElse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LET: { + Let let = (Let)theEObject; + T result = caseLet(let); + if (result == null) result = caseExpression(let); + if (result == null) result = caseStatement(let); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LET_BINDING: { + LetBinding letBinding = (LetBinding)theEObject; + T result = caseLetBinding(letBinding); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CASE: { + Case case_ = (Case)theEObject; + T result = caseCase(case_); + if (result == null) result = caseExpression(case_); + if (result == null) result = caseStatement(case_); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LOCAL_VARIABLES: { + LocalVariables localVariables = (LocalVariables)theEObject; + T result = caseLocalVariables(localVariables); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.QUANTIFIED_EXPRESSION: { + QuantifiedExpression quantifiedExpression = (QuantifiedExpression)theEObject; + T result = caseQuantifiedExpression(quantifiedExpression); + if (result == null) result = caseExpression(quantifiedExpression); + if (result == null) result = caseStatement(quantifiedExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.AGGREGATION: { + Aggregation aggregation = (Aggregation)theEObject; + T result = caseAggregation(aggregation); + if (result == null) result = caseExpression(aggregation); + if (result == null) result = caseStatement(aggregation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CALL: { + Call call = (Call)theEObject; + T result = caseCall(call); + if (result == null) result = caseExpression(call); + if (result == null) result = caseStatement(call); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.ARGUMENT_LIST: { + ArgumentList argumentList = (ArgumentList)theEObject; + T result = caseArgumentList(argumentList); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.ARGUMENT: { + Argument argument = (Argument)theEObject; + T result = caseArgument(argument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXPRESSION_ARGUMENT: { + ExpressionArgument expressionArgument = (ExpressionArgument)theEObject; + T result = caseExpressionArgument(expressionArgument); + if (result == null) result = caseArgument(expressionArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.STAR_ARGUMENT: { + StarArgument starArgument = (StarArgument)theEObject; + T result = caseStarArgument(starArgument); + if (result == null) result = caseArgument(starArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.TYPED_ARGUMENT: { + TypedArgument typedArgument = (TypedArgument)theEObject; + T result = caseTypedArgument(typedArgument); + if (result == null) result = caseArgument(typedArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.TYPED_STAR_ARGUMENT: { + TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject; + T result = caseTypedStarArgument(typedStarArgument); + if (result == null) result = caseArgument(typedStarArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.REFERENCE: { + Reference reference = (Reference)theEObject; + T result = caseReference(reference); + if (result == null) result = caseExpression(reference); + if (result == null) result = caseStatement(reference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.INTERVAL: { + Interval interval = (Interval)theEObject; + T result = caseInterval(interval); + if (result == null) result = caseExpression(interval); + if (result == null) result = caseStatement(interval); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LITERAL: { + Literal literal = (Literal)theEObject; + T result = caseLiteral(literal); + if (result == null) result = caseExpression(literal); + if (result == null) result = caseStatement(literal); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LOGIC_LITERAL: { + LogicLiteral logicLiteral = (LogicLiteral)theEObject; + T result = caseLogicLiteral(logicLiteral); + if (result == null) result = caseLiteral(logicLiteral); + if (result == null) result = caseExpression(logicLiteral); + if (result == null) result = caseStatement(logicLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.NUMERIC_LITERAL: { + NumericLiteral numericLiteral = (NumericLiteral)theEObject; + T result = caseNumericLiteral(numericLiteral); + if (result == null) result = caseLiteral(numericLiteral); + if (result == null) result = caseExpression(numericLiteral); + if (result == null) result = caseStatement(numericLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.INFINITY_LITERAL: { + InfinityLiteral infinityLiteral = (InfinityLiteral)theEObject; + T result = caseInfinityLiteral(infinityLiteral); + if (result == null) result = caseLiteral(infinityLiteral); + if (result == null) result = caseExpression(infinityLiteral); + if (result == null) result = caseStatement(infinityLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: { + EmptyIntervalLiteral emptyIntervalLiteral = (EmptyIntervalLiteral)theEObject; + T result = caseEmptyIntervalLiteral(emptyIntervalLiteral); + if (result == null) result = caseLiteral(emptyIntervalLiteral); + if (result == null) result = caseExpression(emptyIntervalLiteral); + if (result == null) result = caseStatement(emptyIntervalLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.STRING_LITERAL: { + StringLiteral stringLiteral = (StringLiteral)theEObject; + T result = caseStringLiteral(stringLiteral); + if (result == null) result = caseLiteral(stringLiteral); + if (result == null) result = caseExpression(stringLiteral); + if (result == null) result = caseStatement(stringLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CLASS_DEFINITION: { + ClassDefinition classDefinition = (ClassDefinition)theEObject; + T result = caseClassDefinition(classDefinition); + if (result == null) result = caseStatement(classDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.MEMBER_DEFINITION: { + MemberDefinition memberDefinition = (MemberDefinition)theEObject; + T result = caseMemberDefinition(memberDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.MULTIPLICITY: { + Multiplicity multiplicity = (Multiplicity)theEObject; + T result = caseMultiplicity(multiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.MANY_MULTIPLICITY: { + ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject; + T result = caseManyMultiplicity(manyMultiplicity); + if (result == null) result = caseMultiplicity(manyMultiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXACT_MULTIPLICITY: { + ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject; + T result = caseExactMultiplicity(exactMultiplicity); + if (result == null) result = caseMultiplicity(exactMultiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.BOUNDED_MULTIPLICITY: { + BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject; + T result = caseBoundedMultiplicity(boundedMultiplicity); + if (result == null) result = caseMultiplicity(boundedMultiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.SCOPE_DEFINITION: { + ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject; + T result = caseScopeDefinition(scopeDefinition); + if (result == null) result = caseStatement(scopeDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: { + ExactScopeDefinition exactScopeDefinition = (ExactScopeDefinition)theEObject; + T result = caseExactScopeDefinition(exactScopeDefinition); + if (result == null) result = caseScopeDefinition(exactScopeDefinition); + if (result == null) result = caseStatement(exactScopeDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: { + BoundedScopeDefinition boundedScopeDefinition = (BoundedScopeDefinition)theEObject; + T result = caseBoundedScopeDefinition(boundedScopeDefinition); + if (result == null) result = caseScopeDefinition(boundedScopeDefinition); + if (result == null) result = caseStatement(boundedScopeDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: { + LowerBoundedScopeDefinition lowerBoundedScopeDefinition = (LowerBoundedScopeDefinition)theEObject; + T result = caseLowerBoundedScopeDefinition(lowerBoundedScopeDefinition); + if (result == null) result = caseScopeDefinition(lowerBoundedScopeDefinition); + if (result == null) result = caseStatement(lowerBoundedScopeDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.OBJECTIVE_DEFINITION: { + ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject; + T result = caseObjectiveDefinition(objectiveDefinition); + if (result == null) result = caseStatement(objectiveDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.INTERPRETATION: { + Interpretation interpretation = (Interpretation)theEObject; + T result = caseInterpretation(interpretation); + if (result == null) result = caseStatement(interpretation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.VARIABLE: { + Variable variable = (Variable)theEObject; + T result = caseVariable(variable); + if (result == null) result = caseNamedElement(variable); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.DISJUNCTION: { + Disjunction disjunction = (Disjunction)theEObject; + T result = caseDisjunction(disjunction); + if (result == null) result = caseExpression(disjunction); + if (result == null) result = caseStatement(disjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.SWITCH: { + org.eclipse.viatra.solver.language.solverLanguage.Switch switch_ = (org.eclipse.viatra.solver.language.solverLanguage.Switch)theEObject; + T result = caseSwitch(switch_); + if (result == null) result = caseExpression(switch_); + if (result == null) result = caseStatement(switch_); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CONJUNCTION: { + Conjunction conjunction = (Conjunction)theEObject; + T result = caseConjunction(conjunction); + if (result == null) result = caseExpression(conjunction); + if (result == null) result = caseStatement(conjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.COMPARISON: { + Comparison comparison = (Comparison)theEObject; + T result = caseComparison(comparison); + if (result == null) result = caseExpression(comparison); + if (result == null) result = caseStatement(comparison); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.BINARY_EXPRESSION: { + BinaryExpression binaryExpression = (BinaryExpression)theEObject; + T result = caseBinaryExpression(binaryExpression); + if (result == null) result = caseExpression(binaryExpression); + if (result == null) result = caseStatement(binaryExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CAST_EXPRESSION: { + CastExpression castExpression = (CastExpression)theEObject; + T result = caseCastExpression(castExpression); + if (result == null) result = caseExpression(castExpression); + if (result == null) result = caseStatement(castExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.UNARY_EXPRESSION: { + UnaryExpression unaryExpression = (UnaryExpression)theEObject; + T result = caseUnaryExpression(unaryExpression); + if (result == null) result = caseExpression(unaryExpression); + if (result == null) result = caseStatement(unaryExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.NODE: { + Node node = (Node)theEObject; + T result = caseNode(node); + if (result == null) result = caseNamedElement(node); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.FUNCTOR: { + Functor functor = (Functor)theEObject; + T result = caseFunctor(functor); + if (result == null) result = caseNamedElement(functor); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.PREDICATE: { + Predicate predicate = (Predicate)theEObject; + T result = casePredicate(predicate); + if (result == null) result = caseFunctor(predicate); + if (result == null) result = caseNamedElement(predicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.METRIC: { + Metric metric = (Metric)theEObject; + T result = caseMetric(metric); + if (result == null) result = caseFunctor(metric); + if (result == null) result = caseNamedElement(metric); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Problem'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Problem'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProblem(Problem object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStatement(Statement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Predicate Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Predicate Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePredicateDefinition(PredicateDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unnamed Error Prediate Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unnamed Error Prediate Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Default Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Default Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDefaultDefinition(DefaultDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Metric Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Metric Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMetricDefinition(MetricDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Predicate Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Extern Predicate Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternPredicateDefinition(ExternPredicateDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Metric Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Extern Metric Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternMetricDefinition(ExternMetricDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Aggregator Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Extern Aggregator Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternAggregatorDefinition(ExternAggregatorDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Datatype Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Extern Datatype Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternDatatypeDefinition(ExternDatatypeDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Named Element'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Named Element'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNamedElement(NamedElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpression(Expression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'If Else'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'If Else'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIfElse(IfElse object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Let'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Let'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLet(Let object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Let Binding'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Let Binding'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLetBinding(LetBinding object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Case'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Case'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCase(Case object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Local Variables'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Local Variables'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLocalVariables(LocalVariables object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Quantified Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Quantified Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseQuantifiedExpression(QuantifiedExpression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Aggregation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Aggregation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAggregation(Aggregation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Call'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Call'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCall(Call object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Argument List'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Argument List'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArgumentList(ArgumentList object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Argument'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArgument(Argument object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Expression Argument'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Expression Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpressionArgument(ExpressionArgument object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Star Argument'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Star Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStarArgument(StarArgument object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Typed Argument'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Typed Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypedArgument(TypedArgument object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Typed Star Argument'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Typed Star Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypedStarArgument(TypedStarArgument object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Reference'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Reference'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReference(Reference object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Interval'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Interval'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInterval(Interval object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLiteral(Literal object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Logic Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Logic Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLogicLiteral(LogicLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Numeric Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Numeric Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNumericLiteral(NumericLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Infinity Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Infinity Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInfinityLiteral(InfinityLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Empty Interval Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Empty Interval Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'String Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'String Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStringLiteral(StringLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Class Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Class Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseClassDefinition(ClassDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Member Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Member Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMemberDefinition(MemberDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Multiplicity'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMultiplicity(Multiplicity object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Many Multiplicity'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Many Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseManyMultiplicity(ManyMultiplicity object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Exact Multiplicity'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Exact Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExactMultiplicity(ExactMultiplicity object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Bounded Multiplicity'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Bounded Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBoundedMultiplicity(BoundedMultiplicity object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Scope Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseScopeDefinition(ScopeDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Exact Scope Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Exact Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExactScopeDefinition(ExactScopeDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Bounded Scope Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Bounded Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBoundedScopeDefinition(BoundedScopeDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Lower Bounded Scope Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Lower Bounded Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Objective Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Objective Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObjectiveDefinition(ObjectiveDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Interpretation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Interpretation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInterpretation(Interpretation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Variable'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variable'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariable(Variable object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Disjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Disjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDisjunction(Disjunction object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Switch'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Switch'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Conjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Conjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConjunction(Conjunction object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comparison'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comparison'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparison(Comparison object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Binary Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Binary Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBinaryExpression(BinaryExpression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Cast Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Cast Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCastExpression(CastExpression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryExpression(UnaryExpression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Node'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNode(Node object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Functor'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Functor'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctor(Functor object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Predicate'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Predicate'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePredicate(Predicate object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Metric'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Metric'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMetric(Metric object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //SolverLanguageSwitch -- cgit v1.2.3-54-g00ecf