From 42c58bbeead1dae09c51f47abc8e10dfbb9c3f9f Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 23 Jun 2020 15:17:00 +0200 Subject: New configuration language parser WIP --- .../.classpath | 7 + .../.gitignore | 1 + .../.project | 35 + .../.settings/org.eclipse.jdt.core.prefs | 8 + .../META-INF/MANIFEST.MF | 16 + .../build.properties | 10 + .../model/model.aird | 6757 +++++++++++++++++ .../model/model.ecore | 327 + .../model/model.genmodel | 287 + .../plugin.properties | 4 + .../plugin.xml | 17 + .../language/solverLanguage/AbstractAssertion.java | 67 + .../solverLanguage/AggregateExpression.java | 59 + .../language/solverLanguage/Aggregation.java | 67 + .../solverLanguage/AggregationOperator.java | 67 + .../solver/language/solverLanguage/Argument.java | 18 + .../language/solverLanguage/ArgumentList.java | 38 + .../solver/language/solverLanguage/Assertion.java | 16 + .../solver/language/solverLanguage/Attribute.java | 70 + .../language/solverLanguage/AttributeKind.java | 250 + .../language/solverLanguage/BaseRelation.java | 16 + .../language/solverLanguage/BinaryExpression.java | 93 + .../language/solverLanguage/BinaryOperator.java | 435 ++ .../solverLanguage/BoundedMultiplicity.java | 67 + .../language/solverLanguage/BoundedScope.java | 67 + .../solver/language/solverLanguage/Call.java | 67 + .../solver/language/solverLanguage/Case.java | 67 + .../language/solverLanguage/CastExpression.java | 67 + .../language/solverLanguage/ClassDeclaration.java | 118 + .../solverLanguage/ConditionalExpression.java | 90 + .../language/solverLanguage/Conjunction.java | 16 + .../solver/language/solverLanguage/Count.java | 16 + .../solver/language/solverLanguage/Datatype.java | 16 + .../language/solverLanguage/DefaultAssertion.java | 16 + .../language/solverLanguage/Disjunction.java | 16 + .../language/solverLanguage/EmptyLiteral.java | 16 + .../language/solverLanguage/EnumDeclaration.java | 59 + .../language/solverLanguage/EnumLiteral.java | 46 + .../language/solverLanguage/ExactMultiplicity.java | 44 + .../solver/language/solverLanguage/ExactScope.java | 44 + .../solver/language/solverLanguage/Expression.java | 36 + .../solverLanguage/ExpressionArgument.java | 44 + .../ExternAggregationOperatorDeclaration.java | 67 + .../solverLanguage/ExternDatatypeDeclaration.java | 16 + .../language/solverLanguage/ExternDeclaration.java | 44 + .../solverLanguage/ExternFunctionDeclaration.java | 44 + .../solverLanguage/ExternFunctorDeclaration.java | 44 + .../solverLanguage/ExternPredicateDeclaration.java | 16 + .../solver/language/solverLanguage/Field.java | 161 + .../solver/language/solverLanguage/Forall.java | 44 + .../solver/language/solverLanguage/Function.java | 44 + .../solverLanguage/FunctionDefinition.java | 44 + .../solver/language/solverLanguage/Functor.java | 36 + .../language/solverLanguage/FunctorDefiniton.java | 67 + .../solver/language/solverLanguage/Import.java | 46 + .../language/solverLanguage/InfinityLiteral.java | 16 + .../solverLanguage/InlinePredicateAttrributes.java | 69 + .../solver/language/solverLanguage/IntLiteral.java | 44 + .../solver/language/solverLanguage/Interval.java | 67 + .../solver/language/solverLanguage/LetBinding.java | 115 + .../language/solverLanguage/LetExpression.java | 59 + .../solver/language/solverLanguage/Literal.java | 16 + .../language/solverLanguage/LogicLiteral.java | 47 + .../solver/language/solverLanguage/LogicValue.java | 250 + .../language/solverLanguage/LowerBoundedScope.java | 44 + .../solver/language/solverLanguage/Metric.java | 16 + .../language/solverLanguage/MultiaryExpession.java | 36 + .../language/solverLanguage/Multiplicity.java | 18 + .../language/solverLanguage/NamespaceImport.java | 44 + .../solver/language/solverLanguage/Node.java | 44 + .../solverLanguage/ObjectiveDeclaration.java | 70 + .../language/solverLanguage/ObjectiveKind.java | 204 + .../solver/language/solverLanguage/Operator.java | 16 + .../language/solverLanguage/PathComponent.java | 115 + .../solver/language/solverLanguage/Predicate.java | 16 + .../solverLanguage/PredicateDefinition.java | 16 + .../solver/language/solverLanguage/Problem.java | 87 + .../language/solverLanguage/RealLiteral.java | 46 + .../solver/language/solverLanguage/Reference.java | 36 + .../solver/language/solverLanguage/Relation.java | 16 + .../language/solverLanguage/ScopeDeclaration.java | 44 + .../solverLanguage/SolverLanguageFactory.java | 592 ++ .../solverLanguage/SolverLanguagePackage.java | 7554 ++++++++++++++++++++ .../language/solverLanguage/StarArgument.java | 16 + .../solver/language/solverLanguage/Statement.java | 18 + .../language/solverLanguage/StringLiteral.java | 44 + .../solver/language/solverLanguage/Switch.java | 36 + .../solver/language/solverLanguage/Symbol.java | 46 + .../language/solverLanguage/TypeReference.java | 69 + .../language/solverLanguage/TypedArgument.java | 44 + .../language/solverLanguage/TypedStarArgument.java | 16 + .../solverLanguage/TypedVariableArgument.java | 44 + .../language/solverLanguage/UnaryExpression.java | 70 + .../language/solverLanguage/UnaryOperator.java | 250 + .../solverLanguage/UnboundedMultiplicity.java | 16 + .../UnnamedErrorPredicateDefintion.java | 67 + .../solver/language/solverLanguage/UriImport.java | 44 + .../solver/language/solverLanguage/Variable.java | 44 + .../solverLanguage/impl/AbstractAssertionImpl.java | 255 + .../impl/AggregateExpressionImpl.java | 228 + .../solverLanguage/impl/AggregationImpl.java | 245 + .../impl/AggregationOperatorImpl.java | 222 + .../language/solverLanguage/impl/ArgumentImpl.java | 39 + .../solverLanguage/impl/ArgumentListImpl.java | 153 + .../solverLanguage/impl/AssertionImpl.java | 37 + .../solverLanguage/impl/AttributeImpl.java | 230 + .../solverLanguage/impl/BaseRelationImpl.java | 37 + .../solverLanguage/impl/BinaryExpressionImpl.java | 326 + .../impl/BoundedMultiplicityImpl.java | 219 + .../solverLanguage/impl/BoundedScopeImpl.java | 219 + .../language/solverLanguage/impl/CallImpl.java | 256 + .../language/solverLanguage/impl/CaseImpl.java | 254 + .../solverLanguage/impl/CastExpressionImpl.java | 246 + .../solverLanguage/impl/ClassDeclarationImpl.java | 371 + .../impl/ConditionalExpressionImpl.java | 328 + .../solverLanguage/impl/ConjunctionImpl.java | 37 + .../language/solverLanguage/impl/CountImpl.java | 37 + .../language/solverLanguage/impl/DatatypeImpl.java | 37 + .../solverLanguage/impl/DefaultAssertionImpl.java | 37 + .../solverLanguage/impl/DisjunctionImpl.java | 37 + .../solverLanguage/impl/EmptyLiteralImpl.java | 37 + .../solverLanguage/impl/EnumDeclarationImpl.java | 224 + .../solverLanguage/impl/EnumLiteralImpl.java | 165 + .../solverLanguage/impl/ExactMultiplicityImpl.java | 164 + .../solverLanguage/impl/ExactScopeImpl.java | 164 + .../impl/ExpressionArgumentImpl.java | 182 + .../solverLanguage/impl/ExpressionImpl.java | 151 + .../ExternAggregationOperatorDeclarationImpl.java | 227 + .../impl/ExternDatatypeDeclarationImpl.java | 37 + .../solverLanguage/impl/ExternDeclarationImpl.java | 164 + .../impl/ExternFunctionDeclarationImpl.java | 159 + .../impl/ExternFunctorDeclarationImpl.java | 184 + .../impl/ExternPredicateDeclarationImpl.java | 260 + .../language/solverLanguage/impl/FieldImpl.java | 488 ++ .../language/solverLanguage/impl/ForallImpl.java | 182 + .../impl/FunctionDefinitionImpl.java | 159 + .../language/solverLanguage/impl/FunctionImpl.java | 159 + .../solverLanguage/impl/FunctorDefinitonImpl.java | 255 + .../language/solverLanguage/impl/FunctorImpl.java | 151 + .../language/solverLanguage/impl/ImportImpl.java | 165 + .../solverLanguage/impl/InfinityLiteralImpl.java | 37 + .../solverLanguage/impl/IntLiteralImpl.java | 164 + .../language/solverLanguage/impl/IntervalImpl.java | 255 + .../solverLanguage/impl/LetBindingImpl.java | 391 + .../solverLanguage/impl/LetExpressionImpl.java | 228 + .../language/solverLanguage/impl/LiteralImpl.java | 37 + .../solverLanguage/impl/LogicLiteralImpl.java | 165 + .../solverLanguage/impl/LowerBoundedScopeImpl.java | 164 + .../language/solverLanguage/impl/MetricImpl.java | 37 + .../solverLanguage/impl/MultiaryExpessionImpl.java | 151 + .../solverLanguage/impl/MultiplicityImpl.java | 39 + .../solverLanguage/impl/NamespaceImportImpl.java | 166 + .../language/solverLanguage/impl/NodeImpl.java | 163 + .../impl/ObjectiveDeclarationImpl.java | 253 + .../language/solverLanguage/impl/OperatorImpl.java | 37 + .../solverLanguage/impl/PathComponentImpl.java | 341 + .../impl/PredicateDefinitionImpl.java | 260 + .../solverLanguage/impl/PredicateImpl.java | 37 + .../language/solverLanguage/impl/ProblemImpl.java | 298 + .../solverLanguage/impl/RealLiteralImpl.java | 166 + .../solverLanguage/impl/ReferenceImpl.java | 151 + .../language/solverLanguage/impl/RelationImpl.java | 37 + .../solverLanguage/impl/ScopeDeclarationImpl.java | 159 + .../impl/SolverLanguageFactoryImpl.java | 985 +++ .../impl/SolverLanguagePackageImpl.java | 3364 +++++++++ .../solverLanguage/impl/StarArgumentImpl.java | 37 + .../solverLanguage/impl/StatementImpl.java | 39 + .../solverLanguage/impl/StringLiteralImpl.java | 164 + .../language/solverLanguage/impl/SwitchImpl.java | 150 + .../language/solverLanguage/impl/SymbolImpl.java | 164 + .../solverLanguage/impl/TypeReferenceImpl.java | 230 + .../solverLanguage/impl/TypedArgumentImpl.java | 182 + .../solverLanguage/impl/TypedStarArgumentImpl.java | 37 + .../impl/TypedVariableArgumentImpl.java | 164 + .../solverLanguage/impl/UnaryExpressionImpl.java | 253 + .../impl/UnboundedMultiplicityImpl.java | 37 + .../impl/UnnamedErrorPredicateDefintionImpl.java | 262 + .../solverLanguage/impl/UriImportImpl.java | 163 + .../language/solverLanguage/impl/VariableImpl.java | 182 + .../util/SolverLanguageAdapterFactory.java | 1620 +++++ .../solverLanguage/util/SolverLanguageSwitch.java | 2114 ++++++ 181 files changed, 42181 insertions(+) create mode 100644 Application/org.eclipse.viatra.solver.language.model/.classpath create mode 100644 Application/org.eclipse.viatra.solver.language.model/.gitignore create mode 100644 Application/org.eclipse.viatra.solver.language.model/.project create mode 100644 Application/org.eclipse.viatra.solver.language.model/.settings/org.eclipse.jdt.core.prefs create mode 100644 Application/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF create mode 100644 Application/org.eclipse.viatra.solver.language.model/build.properties create mode 100644 Application/org.eclipse.viatra.solver.language.model/model/model.aird create mode 100644 Application/org.eclipse.viatra.solver.language.model/model/model.ecore create mode 100644 Application/org.eclipse.viatra.solver.language.model/model/model.genmodel create mode 100644 Application/org.eclipse.viatra.solver.language.model/plugin.properties create mode 100644 Application/org.eclipse.viatra.solver.language.model/plugin.xml create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AbstractAssertion.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregateExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOperator.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Attribute.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AttributeKind.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BaseRelation.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScope.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ConditionalExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Datatype.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultAssertion.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScope.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregationOperatorDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctionDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctorDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Field.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Forall.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Function.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctionDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctorDefiniton.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Import.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InlinePredicateAttrributes.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScope.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiaryExpession.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamespaceImport.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Operator.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PathComponent.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Relation.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDeclaration.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypeReference.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedVariableArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOperator.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnboundedMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPredicateDefintion.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UriImport.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java create mode 100644 Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java (limited to 'Application/org.eclipse.viatra.solver.language.model') diff --git a/Application/org.eclipse.viatra.solver.language.model/.classpath b/Application/org.eclipse.viatra.solver.language.model/.classpath new file mode 100644 index 00000000..03565ec5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language.model/.gitignore b/Application/org.eclipse.viatra.solver.language.model/.gitignore new file mode 100644 index 00000000..ae3c1726 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Application/org.eclipse.viatra.solver.language.model/.project b/Application/org.eclipse.viatra.solver.language.model/.project new file mode 100644 index 00000000..b24c7b88 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/.project @@ -0,0 +1,35 @@ + + + org.eclipse.viatra.solver.language.model + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.sirius.nature.modelingproject + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/Application/org.eclipse.viatra.solver.language.model/.settings/org.eclipse.jdt.core.prefs b/Application/org.eclipse.viatra.solver.language.model/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..9f6ece88 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Application/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF b/Application/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF new file mode 100644 index 00000000..030e02aa --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.viatra.solver.language.model;singleton:=true +Automatic-Module-Name: org.eclipse.viatra.solver.language.model +Bundle-Version: 0.1.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: org.eclipse.viatra.solver.language.solverLanguage, + org.eclipse.viatra.solver.language.solverLanguage.impl, + org.eclipse.viatra.solver.language.solverLanguage.util +Require-Bundle: org.eclipse.emf.ecore;visibility:=reexport, + org.eclipse.core.runtime +Bundle-ActivationPolicy: lazy diff --git a/Application/org.eclipse.viatra.solver.language.model/build.properties b/Application/org.eclipse.viatra.solver.language.model/build.properties new file mode 100644 index 00000000..697ca964 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin/ diff --git a/Application/org.eclipse.viatra.solver.language.model/model/model.aird b/Application/org.eclipse.viatra.solver.language.model/model/model.aird new file mode 100644 index 00000000..d934951f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/model/model.aird @@ -0,0 +1,6757 @@ + + + + model.ecore + model.genmodel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + strokeColor + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + italic + + + + + + + + + + strokeColor + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + strokeColor + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + italic + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + strokeColor + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language.model/model/model.ecore b/Application/org.eclipse.viatra.solver.language.model/model/model.ecore new file mode 100644 index 00000000..f5e6a91e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/model/model.ecore @@ -0,0 +1,327 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language.model/model/model.genmodel b/Application/org.eclipse.viatra.solver.language.model/model/model.genmodel new file mode 100644 index 00000000..0e916847 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/model/model.genmodel @@ -0,0 +1,287 @@ + + + model.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language.model/plugin.properties b/Application/org.eclipse.viatra.solver.language.model/plugin.properties new file mode 100644 index 00000000..9050bf16 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = org.eclipse.viatra.solver.language.model +providerName = www.example.org diff --git a/Application/org.eclipse.viatra.solver.language.model/plugin.xml b/Application/org.eclipse.viatra.solver.language.model/plugin.xml new file mode 100644 index 00000000..12825d16 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/plugin.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AbstractAssertion.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AbstractAssertion.java new file mode 100644 index 00000000..7923a212 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AbstractAssertion.java @@ -0,0 +1,67 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Abstract Assertion'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getExpression Expression}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getRange Range}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAbstractAssertion() + * @model abstract="true" + * @generated + */ +public interface AbstractAssertion extends Statement { + /** + * Returns the value of the 'Expression' containment reference. + * + * + * @return the value of the 'Expression' containment reference. + * @see #setExpression(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAbstractAssertion_Expression() + * @model containment="true" + * @generated + */ + Expression getExpression(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getExpression Expression}' containment reference. + * + * + * @param value the new value of the 'Expression' containment reference. + * @see #getExpression() + * @generated + */ + void setExpression(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#getAbstractAssertion_Range() + * @model containment="true" + * @generated + */ + Expression getRange(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getRange Range}' containment reference. + * + * + * @param value the new value of the 'Range' containment reference. + * @see #getRange() + * @generated + */ + void setRange(Expression value); + +} // AbstractAssertion diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregateExpression.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregateExpression.java new file mode 100644 index 00000000..8e4c468e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregateExpression.java @@ -0,0 +1,59 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Aggregate Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression#getForallVariables Forall Variables}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression#getCondition Condition}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregateExpression() + * @model abstract="true" + * @generated + */ +public interface AggregateExpression extends Expression { + /** + * Returns the value of the 'Forall Variables' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Variable}. + * + * + * @return the value of the 'Forall Variables' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregateExpression_ForallVariables() + * @model containment="true" transient="true" + * @generated + */ + EList getForallVariables(); + + /** + * 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#getAggregateExpression_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + +} // AggregateExpression diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java new file mode 100644 index 00000000..f1d6b6c1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java @@ -0,0 +1,67 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Aggregation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getValue Value}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation() + * @model + * @generated + */ +public interface Aggregation extends AggregateExpression { + /** + * 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#getAggregation_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + + /** + * Returns the value of the 'Op' reference. + * + * + * @return the value of the 'Op' reference. + * @see #setOp(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op() + * @model + * @generated + */ + Symbol 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(Symbol value); + +} // Aggregation diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOperator.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOperator.java new file mode 100644 index 00000000..2ec7794a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOperator.java @@ -0,0 +1,67 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Aggregation Operator'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getArgumentType Argument Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getResultType Result Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregationOperator() + * @model + * @generated + */ +public interface AggregationOperator extends Symbol { + /** + * Returns the value of the 'Argument Type' reference. + * + * + * @return the value of the 'Argument Type' reference. + * @see #setArgumentType(Datatype) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregationOperator_ArgumentType() + * @model + * @generated + */ + Datatype getArgumentType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getArgumentType Argument Type}' reference. + * + * + * @param value the new value of the 'Argument Type' reference. + * @see #getArgumentType() + * @generated + */ + void setArgumentType(Datatype value); + + /** + * Returns the value of the 'Result Type' reference. + * + * + * @return the value of the 'Result Type' reference. + * @see #setResultType(Datatype) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregationOperator_ResultType() + * @model + * @generated + */ + Datatype getResultType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getResultType Result Type}' reference. + * + * + * @param value the new value of the 'Result Type' reference. + * @see #getResultType() + * @generated + */ + void setResultType(Datatype value); + +} // AggregationOperator diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java new file mode 100644 index 00000000..dd9fb5ee --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java @@ -0,0 +1,18 @@ +/** + */ +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 abstract="true" + * @generated + */ +public interface Argument extends EObject { +} // Argument diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java new file mode 100644 index 00000000..3f6c05bd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java @@ -0,0 +1,38 @@ +/** + */ +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: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments Arguments}
  • + *
+ * + * @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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java new file mode 100644 index 00000000..1f9b0889 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Assertion'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion() + * @model + * @generated + */ +public interface Assertion extends AbstractAssertion { +} // Assertion diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Attribute.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Attribute.java new file mode 100644 index 00000000..bb577b73 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Attribute.java @@ -0,0 +1,70 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Attribute'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Attribute#getTarget Target}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Attribute#getKind Kind}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAttribute() + * @model abstract="true" + * @generated + */ +public interface Attribute extends Statement { + /** + * Returns the value of the 'Target' reference. + * + * + * @return the value of the 'Target' reference. + * @see #setTarget(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAttribute_Target() + * @model + * @generated + */ + Symbol getTarget(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Attribute#getTarget Target}' reference. + * + * + * @param value the new value of the 'Target' reference. + * @see #getTarget() + * @generated + */ + void setTarget(Symbol value); + + /** + * Returns the value of the 'Kind' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.AttributeKind}. + * + * + * @return the value of the 'Kind' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.AttributeKind + * @see #setKind(AttributeKind) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAttribute_Kind() + * @model + * @generated + */ + AttributeKind getKind(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Attribute#getKind Kind}' attribute. + * + * + * @param value the new value of the 'Kind' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.AttributeKind + * @see #getKind() + * @generated + */ + void setKind(AttributeKind value); + +} // Attribute diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AttributeKind.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AttributeKind.java new file mode 100644 index 00000000..50f7afbf --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AttributeKind.java @@ -0,0 +1,250 @@ +/** + */ +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 'Attribute Kind', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAttributeKind() + * @model + * @generated + */ +public enum AttributeKind implements Enumerator { + /** + * The 'FUNCTIONAL' literal object. + * + * + * @see #FUNCTIONAL_VALUE + * @generated + * @ordered + */ + FUNCTIONAL(0, "FUNCTIONAL", "FUNCTIONAL"), + + /** + * The 'ERROR' literal object. + * + * + * @see #ERROR_VALUE + * @generated + * @ordered + */ + ERROR(1, "ERROR", "ERROR"), + + /** + * The 'ROOT' literal object. + * + * + * @see #ROOT_VALUE + * @generated + * @ordered + */ + ROOT(2, "ROOT", "ROOT"), + + /** + * The 'CONTAINMENT' literal object. + * + * + * @see #CONTAINMENT_VALUE + * @generated + * @ordered + */ + CONTAINMENT(3, "CONTAINMENT", "CONTAINMENT"); + + /** + * The 'FUNCTIONAL' literal value. + * + * + * @see #FUNCTIONAL + * @model + * @generated + * @ordered + */ + public static final int FUNCTIONAL_VALUE = 0; + + /** + * The 'ERROR' literal value. + * + * + * @see #ERROR + * @model + * @generated + * @ordered + */ + public static final int ERROR_VALUE = 1; + + /** + * The 'ROOT' literal value. + * + * + * @see #ROOT + * @model + * @generated + * @ordered + */ + public static final int ROOT_VALUE = 2; + + /** + * The 'CONTAINMENT' literal value. + * + * + * @see #CONTAINMENT + * @model + * @generated + * @ordered + */ + public static final int CONTAINMENT_VALUE = 3; + + /** + * An array of all the 'Attribute Kind' enumerators. + * + * + * @generated + */ + private static final AttributeKind[] VALUES_ARRAY = new AttributeKind[] { FUNCTIONAL, ERROR, ROOT, CONTAINMENT, }; + + /** + * A public read-only list of all the 'Attribute Kind' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Attribute Kind' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static AttributeKind get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + AttributeKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Attribute Kind' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static AttributeKind getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + AttributeKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Attribute Kind' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static AttributeKind get(int value) { + switch (value) { + case FUNCTIONAL_VALUE: + return FUNCTIONAL; + case ERROR_VALUE: + return ERROR; + case ROOT_VALUE: + return ROOT; + case CONTAINMENT_VALUE: + return CONTAINMENT; + } + 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 AttributeKind(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //AttributeKind diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BaseRelation.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BaseRelation.java new file mode 100644 index 00000000..9eb92f65 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BaseRelation.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Base Relation'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBaseRelation() + * @model + * @generated + */ +public interface BaseRelation extends Relation { +} // BaseRelation diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java new file mode 100644 index 00000000..9615767a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java @@ -0,0 +1,93 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Binary Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft Left}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight Right}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression() + * @model + * @generated + */ +public interface BinaryExpression extends Expression { + /** + * 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 '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 '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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java new file mode 100644 index 00000000..58d01fd7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java @@ -0,0 +1,435 @@ +/** + */ +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 'PLUS' literal object. + * + * + * @see #PLUS_VALUE + * @generated + * @ordered + */ + PLUS(0, "PLUS", "PLUS"), + + /** + * The 'MINUS' literal object. + * + * + * @see #MINUS_VALUE + * @generated + * @ordered + */ + MINUS(1, "MINUS", "MINUS"), + + /** + * The 'MULTIPLY' literal object. + * + * + * @see #MULTIPLY_VALUE + * @generated + * @ordered + */ + MULTIPLY(2, "MULTIPLY", "MULTIPLY"), + + /** + * The 'DIVIDE' literal object. + * + * + * @see #DIVIDE_VALUE + * @generated + * @ordered + */ + DIVIDE(3, "DIVIDE", "DIVIDE"), + + /** + * The 'POW' literal object. + * + * + * @see #POW_VALUE + * @generated + * @ordered + */ + POW(4, "POW", "POW"), + + /** + * The 'IN' literal object. + * + * + * @see #IN_VALUE + * @generated + * @ordered + */ + IN(5, "IN", "IN"), + + /** + * The 'EQUALS' literal object. + * + * + * @see #EQUALS_VALUE + * @generated + * @ordered + */ + EQUALS(6, "EQUALS", "EQUALS"), + + /** + * The 'NOT EQUALS' literal object. + * + * + * @see #NOT_EQUALS_VALUE + * @generated + * @ordered + */ + NOT_EQUALS(7, "NOT_EQUALS", "NOT_EQUALS"), + + /** + * The 'LESS' literal object. + * + * + * @see #LESS_VALUE + * @generated + * @ordered + */ + LESS(8, "LESS", "LESS"), + + /** + * The 'LESS EQUALS' literal object. + * + * + * @see #LESS_EQUALS_VALUE + * @generated + * @ordered + */ + LESS_EQUALS(9, "LESS_EQUALS", "LESS_EQUALS"), + + /** + * The 'GREATER' literal object. + * + * + * @see #GREATER_VALUE + * @generated + * @ordered + */ + GREATER(10, "GREATER", "GREATER"), + + /** + * The 'GREATER EQUALS' literal object. + * + * + * @see #GREATER_EQUALS_VALUE + * @generated + * @ordered + */ + GREATER_EQUALS(11, "GREATER_EQUALS", "GREATER_EQUALS"); + + /** + * The 'PLUS' literal value. + * + * + * @see #PLUS + * @model + * @generated + * @ordered + */ + public static final int PLUS_VALUE = 0; + + /** + * The 'MINUS' literal value. + * + * + * @see #MINUS + * @model + * @generated + * @ordered + */ + public static final int MINUS_VALUE = 1; + + /** + * The 'MULTIPLY' literal value. + * + * + * @see #MULTIPLY + * @model + * @generated + * @ordered + */ + public static final int MULTIPLY_VALUE = 2; + + /** + * The 'DIVIDE' literal value. + * + * + * @see #DIVIDE + * @model + * @generated + * @ordered + */ + public static final int DIVIDE_VALUE = 3; + + /** + * The 'POW' literal value. + * + * + * @see #POW + * @model + * @generated + * @ordered + */ + public static final int POW_VALUE = 4; + + /** + * The 'IN' literal value. + * + * + * @see #IN + * @model + * @generated + * @ordered + */ + public static final int IN_VALUE = 5; + + /** + * The 'EQUALS' literal value. + * + * + * @see #EQUALS + * @model + * @generated + * @ordered + */ + public static final int EQUALS_VALUE = 6; + + /** + * The 'NOT EQUALS' literal value. + * + * + * @see #NOT_EQUALS + * @model + * @generated + * @ordered + */ + public static final int NOT_EQUALS_VALUE = 7; + + /** + * The 'LESS' literal value. + * + * + * @see #LESS + * @model + * @generated + * @ordered + */ + public static final int LESS_VALUE = 8; + + /** + * The 'LESS EQUALS' literal value. + * + * + * @see #LESS_EQUALS + * @model + * @generated + * @ordered + */ + public static final int LESS_EQUALS_VALUE = 9; + + /** + * The 'GREATER' literal value. + * + * + * @see #GREATER + * @model + * @generated + * @ordered + */ + public static final int GREATER_VALUE = 10; + + /** + * The 'GREATER EQUALS' literal value. + * + * + * @see #GREATER_EQUALS + * @model + * @generated + * @ordered + */ + public static final int GREATER_EQUALS_VALUE = 11; + + /** + * An array of all the 'Binary Operator' enumerators. + * + * + * @generated + */ + private static final BinaryOperator[] VALUES_ARRAY = new BinaryOperator[] { PLUS, MINUS, MULTIPLY, DIVIDE, POW, IN, + EQUALS, NOT_EQUALS, LESS, LESS_EQUALS, GREATER, GREATER_EQUALS, }; + + /** + * 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 PLUS_VALUE: + return PLUS; + case MINUS_VALUE: + return MINUS; + case MULTIPLY_VALUE: + return MULTIPLY; + case DIVIDE_VALUE: + return DIVIDE; + case POW_VALUE: + return POW; + case IN_VALUE: + return IN; + case EQUALS_VALUE: + return EQUALS; + case NOT_EQUALS_VALUE: + return NOT_EQUALS; + case LESS_VALUE: + return LESS; + case LESS_EQUALS_VALUE: + return LESS_EQUALS; + case GREATER_VALUE: + return GREATER; + case GREATER_EQUALS_VALUE: + return GREATER_EQUALS; + } + 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 + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java new file mode 100644 index 00000000..6f9cb8cc --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java @@ -0,0 +1,67 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScope.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScope.java new file mode 100644 index 00000000..e2ce4bb8 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScope.java @@ -0,0 +1,67 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Bounded Scope'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#getUpperBound Upper Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScope() + * @model + * @generated + */ +public interface BoundedScope extends ScopeDeclaration { + /** + * 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#getBoundedScope_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#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#getBoundedScope_UpperBound() + * @model + * @generated + */ + int getUpperBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#getUpperBound Upper Bound}' attribute. + * + * + * @param value the new value of the 'Upper Bound' attribute. + * @see #getUpperBound() + * @generated + */ + void setUpperBound(int value); + +} // BoundedScope diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java new file mode 100644 index 00000000..2a6e5012 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java @@ -0,0 +1,67 @@ +/** + */ +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#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 '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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java new file mode 100644 index 00000000..a8e01488 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java @@ -0,0 +1,67 @@ +/** + */ +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#getCondition Condition}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase() + * @model + * @generated + */ +public interface Case extends Expression { + /** + * 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); + + /** + * 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); + +} // Case diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java new file mode 100644 index 00000000..ac64ab0f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java @@ -0,0 +1,67 @@ +/** + */ +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#getTargetType Target 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 'Target Type' reference. + * + * + * @return the value of the 'Target Type' reference. + * @see #setTargetType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression_TargetType() + * @model + * @generated + */ + Symbol getTargetType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getTargetType Target Type}' reference. + * + * + * @param value the new value of the 'Target Type' reference. + * @see #getTargetType() + * @generated + */ + void setTargetType(Symbol value); + +} // CastExpression diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDeclaration.java new file mode 100644 index 00000000..01e35777 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDeclaration.java @@ -0,0 +1,118 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Class Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getFields Fields}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getSupertypes Supertypes}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isRoot Root}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDeclaration() + * @model + * @generated + */ +public interface ClassDeclaration extends Statement { + /** + * Returns the value of the 'Fields' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Field}. + * + * + * @return the value of the 'Fields' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDeclaration_Fields() + * @model containment="true" + * @generated + */ + EList getFields(); + + /** + * 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#getClassDeclaration_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * 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#getClassDeclaration_Abstract() + * @model + * @generated + */ + boolean isAbstract(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isAbstract Abstract}' attribute. + * + * + * @param value the new value of the 'Abstract' attribute. + * @see #isAbstract() + * @generated + */ + void setAbstract(boolean value); + + /** + * Returns the value of the 'Supertypes' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Symbol}. + * + * + * @return the value of the 'Supertypes' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDeclaration_Supertypes() + * @model + * @generated + */ + EList getSupertypes(); + + /** + * Returns the value of the 'Root' attribute. + * + * + * @return the value of the 'Root' attribute. + * @see #setRoot(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDeclaration_Root() + * @model + * @generated + */ + boolean isRoot(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isRoot Root}' attribute. + * + * + * @param value the new value of the 'Root' attribute. + * @see #isRoot() + * @generated + */ + void setRoot(boolean value); + +} // ClassDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ConditionalExpression.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ConditionalExpression.java new file mode 100644 index 00000000..73c3cdba --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ConditionalExpression.java @@ -0,0 +1,90 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Conditional Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getCondition Condition}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getThen Then}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getElse Else}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConditionalExpression() + * @model + * @generated + */ +public interface ConditionalExpression extends Expression { + /** + * 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#getConditionalExpression_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * 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#getConditionalExpression_Then() + * @model containment="true" + * @generated + */ + Expression getThen(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#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#getConditionalExpression_Else() + * @model containment="true" + * @generated + */ + Expression getElse(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getElse Else}' containment reference. + * + * + * @param value the new value of the 'Else' containment reference. + * @see #getElse() + * @generated + */ + void setElse(Expression value); + +} // ConditionalExpression diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java new file mode 100644 index 00000000..16b8f305 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Conjunction'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction() + * @model + * @generated + */ +public interface Conjunction extends MultiaryExpession { +} // Conjunction diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java new file mode 100644 index 00000000..f1127be9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Count'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount() + * @model + * @generated + */ +public interface Count extends AggregateExpression { +} // Count diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Datatype.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Datatype.java new file mode 100644 index 00000000..951973ac --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Datatype.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Datatype'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDatatype() + * @model + * @generated + */ +public interface Datatype extends Relation { +} // Datatype diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultAssertion.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultAssertion.java new file mode 100644 index 00000000..ec66f733 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultAssertion.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Default Assertion'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultAssertion() + * @model + * @generated + */ +public interface DefaultAssertion extends AbstractAssertion { +} // DefaultAssertion diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java new file mode 100644 index 00000000..8d91967f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Disjunction'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction() + * @model + * @generated + */ +public interface Disjunction extends MultiaryExpession { +} // Disjunction diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyLiteral.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyLiteral.java new file mode 100644 index 00000000..2bec9e47 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyLiteral.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Empty Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyLiteral() + * @model + * @generated + */ +public interface EmptyLiteral extends Literal { +} // EmptyLiteral diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumDeclaration.java new file mode 100644 index 00000000..a7e0b5ee --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumDeclaration.java @@ -0,0 +1,59 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Enum Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration#getLiterals Literals}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumDeclaration() + * @model + * @generated + */ +public interface EnumDeclaration extends Statement { + /** + * Returns the value of the 'Literals' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral}. + * + * + * @return the value of the 'Literals' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumDeclaration_Literals() + * @model containment="true" + * @generated + */ + EList getLiterals(); + + /** + * 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#getEnumDeclaration_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // EnumDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumLiteral.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumLiteral.java new file mode 100644 index 00000000..cb77e175 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumLiteral.java @@ -0,0 +1,46 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Enum Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumLiteral() + * @model + * @generated + */ +public interface EnumLiteral 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#getEnumLiteral_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // EnumLiteral diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java new file mode 100644 index 00000000..4f7843a9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java @@ -0,0 +1,44 @@ +/** + */ +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#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity() + * @model + * @generated + */ +public interface ExactMultiplicity extends Multiplicity { + /** + * Returns the value of the 'Value' attribute. + * + * + * @return the value of the 'Value' attribute. + * @see #setValue(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity_Value() + * @model + * @generated + */ + int getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(int value); + +} // ExactMultiplicity diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScope.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScope.java new file mode 100644 index 00000000..c5a86c8f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScope.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Exact Scope'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExactScope#getSize Size}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScope() + * @model + * @generated + */ +public interface ExactScope extends ScopeDeclaration { + /** + * Returns the value of the 'Size' attribute. + * + * + * @return the value of the 'Size' attribute. + * @see #setSize(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScope_Size() + * @model + * @generated + */ + int getSize(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScope#getSize Size}' attribute. + * + * + * @param value the new value of the 'Size' attribute. + * @see #getSize() + * @generated + */ + void setSize(int value); + +} // ExactScope diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java new file mode 100644 index 00000000..306312ea --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java @@ -0,0 +1,36 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Expression#getExistsVariables Exists Variables}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression() + * @model abstract="true" + * @generated + */ +public interface Expression extends Statement { + /** + * Returns the value of the 'Exists Variables' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Variable}. + * + * + * @return the value of the 'Exists Variables' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression_ExistsVariables() + * @model containment="true" transient="true" + * @generated + */ + EList getExistsVariables(); + +} // Expression diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java new file mode 100644 index 00000000..f92ff2fe --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java @@ -0,0 +1,44 @@ +/** + */ +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#getExpression Expression}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument() + * @model + * @generated + */ +public interface ExpressionArgument extends Argument { + /** + * Returns the value of the 'Expression' containment reference. + * + * + * @return the value of the 'Expression' containment reference. + * @see #setExpression(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument_Expression() + * @model containment="true" + * @generated + */ + Expression getExpression(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getExpression Expression}' containment reference. + * + * + * @param value the new value of the 'Expression' containment reference. + * @see #getExpression() + * @generated + */ + void setExpression(Expression value); + +} // ExpressionArgument diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregationOperatorDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregationOperatorDeclaration.java new file mode 100644 index 00000000..ef8303ce --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregationOperatorDeclaration.java @@ -0,0 +1,67 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Extern Aggregation Operator Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getArgumentType Argument Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getResultType Result Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregationOperatorDeclaration() + * @model + * @generated + */ +public interface ExternAggregationOperatorDeclaration extends ExternDeclaration { + /** + * Returns the value of the 'Argument Type' reference. + * + * + * @return the value of the 'Argument Type' reference. + * @see #setArgumentType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregationOperatorDeclaration_ArgumentType() + * @model + * @generated + */ + Symbol getArgumentType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getArgumentType Argument Type}' reference. + * + * + * @param value the new value of the 'Argument Type' reference. + * @see #getArgumentType() + * @generated + */ + void setArgumentType(Symbol value); + + /** + * Returns the value of the 'Result Type' reference. + * + * + * @return the value of the 'Result Type' reference. + * @see #setResultType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregationOperatorDeclaration_ResultType() + * @model + * @generated + */ + Symbol getResultType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getResultType Result Type}' reference. + * + * + * @param value the new value of the 'Result Type' reference. + * @see #getResultType() + * @generated + */ + void setResultType(Symbol value); + +} // ExternAggregationOperatorDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDeclaration.java new file mode 100644 index 00000000..c3493469 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDeclaration.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Extern Datatype Declaration'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDeclaration() + * @model + * @generated + */ +public interface ExternDatatypeDeclaration extends ExternDeclaration { +} // ExternDatatypeDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDeclaration.java new file mode 100644 index 00000000..857d2b86 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDeclaration.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Extern Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDeclaration() + * @model abstract="true" + * @generated + */ +public interface ExternDeclaration 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#getExternDeclaration_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // ExternDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctionDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctionDeclaration.java new file mode 100644 index 00000000..c9cdc060 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctionDeclaration.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Extern Function Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration#getResultType Result Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternFunctionDeclaration() + * @model + * @generated + */ +public interface ExternFunctionDeclaration extends ExternFunctorDeclaration { + /** + * Returns the value of the 'Result Type' reference. + * + * + * @return the value of the 'Result Type' reference. + * @see #setResultType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternFunctionDeclaration_ResultType() + * @model + * @generated + */ + Symbol getResultType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration#getResultType Result Type}' reference. + * + * + * @param value the new value of the 'Result Type' reference. + * @see #getResultType() + * @generated + */ + void setResultType(Symbol value); + +} // ExternFunctionDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctorDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctorDeclaration.java new file mode 100644 index 00000000..40f577c8 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternFunctorDeclaration.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Extern Functor Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration#getArgumentList Argument List}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternFunctorDeclaration() + * @model abstract="true" + * @generated + */ +public interface ExternFunctorDeclaration extends ExternDeclaration { + /** + * 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#getExternFunctorDeclaration_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + +} // ExternFunctorDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDeclaration.java new file mode 100644 index 00000000..0b646d11 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDeclaration.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Extern Predicate Declaration'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDeclaration() + * @model + * @generated + */ +public interface ExternPredicateDeclaration extends ExternFunctorDeclaration, InlinePredicateAttrributes { +} // ExternPredicateDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Field.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Field.java new file mode 100644 index 00000000..cfd9e44b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Field.java @@ -0,0 +1,161 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Field'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Field#isContainment Containment}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Field#isCrossReference Cross Reference}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Field#getOpposite Opposite}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Field#getMultiplicity Multiplicity}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Field#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Field#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getField() + * @model + * @generated + */ +public interface Field 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#getField_Containment() + * @model + * @generated + */ + boolean isContainment(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#isContainment Containment}' attribute. + * + * + * @param value the new value of the 'Containment' attribute. + * @see #isContainment() + * @generated + */ + void setContainment(boolean value); + + /** + * Returns the value of the 'Cross Reference' attribute. + * + * + * @return the value of the 'Cross Reference' attribute. + * @see #setCrossReference(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getField_CrossReference() + * @model + * @generated + */ + boolean isCrossReference(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#isCrossReference Cross Reference}' attribute. + * + * + * @param value the new value of the 'Cross Reference' attribute. + * @see #isCrossReference() + * @generated + */ + void setCrossReference(boolean value); + + /** + * Returns the value of the 'Opposite' reference. + * + * + * @return the value of the 'Opposite' reference. + * @see #setOpposite(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getField_Opposite() + * @model + * @generated + */ + Symbol getOpposite(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#getOpposite Opposite}' reference. + * + * + * @param value the new value of the 'Opposite' reference. + * @see #getOpposite() + * @generated + */ + void setOpposite(Symbol 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#getField_Multiplicity() + * @model containment="true" + * @generated + */ + Multiplicity getMultiplicity(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#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 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getField_Type() + * @model + * @generated + */ + Symbol getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(Symbol 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#getField_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // Field diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Forall.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Forall.java new file mode 100644 index 00000000..1591e186 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Forall.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Forall'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Forall#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getForall() + * @model + * @generated + */ +public interface Forall extends AggregateExpression { + /** + * 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#getForall_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Forall#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // Forall diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Function.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Function.java new file mode 100644 index 00000000..b1bb307d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Function.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Function'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Function#getResultType Result Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunction() + * @model abstract="true" + * @generated + */ +public interface Function extends Functor { + /** + * Returns the value of the 'Result Type' reference. + * + * + * @return the value of the 'Result Type' reference. + * @see #setResultType(Datatype) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunction_ResultType() + * @model + * @generated + */ + Datatype getResultType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Function#getResultType Result Type}' reference. + * + * + * @param value the new value of the 'Result Type' reference. + * @see #getResultType() + * @generated + */ + void setResultType(Datatype value); + +} // Function diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctionDefinition.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctionDefinition.java new file mode 100644 index 00000000..ab0db19b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctionDefinition.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Function Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition#getResultType Result Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctionDefinition() + * @model + * @generated + */ +public interface FunctionDefinition extends FunctorDefiniton { + /** + * Returns the value of the 'Result Type' reference. + * + * + * @return the value of the 'Result Type' reference. + * @see #setResultType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctionDefinition_ResultType() + * @model + * @generated + */ + Symbol getResultType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition#getResultType Result Type}' reference. + * + * + * @param value the new value of the 'Result Type' reference. + * @see #getResultType() + * @generated + */ + void setResultType(Symbol value); + +} // FunctionDefinition diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java new file mode 100644 index 00000000..e5c2c56f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java @@ -0,0 +1,36 @@ +/** + */ +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 Symbol { + /** + * Returns the value of the 'Parameters' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Variable}. + * + * + * @return the value of the 'Parameters' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctor_Parameters() + * @model containment="true" + * @generated + */ + EList getParameters(); + +} // Functor diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctorDefiniton.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctorDefiniton.java new file mode 100644 index 00000000..70a21b6c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FunctorDefiniton.java @@ -0,0 +1,67 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Functor Definiton'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctorDefiniton() + * @model abstract="true" + * @generated + */ +public interface FunctorDefiniton 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#getFunctorDefiniton_Head() + * @model containment="true" + * @generated + */ + Expression getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#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#getFunctorDefiniton_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // FunctorDefiniton diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Import.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Import.java new file mode 100644 index 00000000..39dc6d6d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Import.java @@ -0,0 +1,46 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Import'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Import#getAlias Alias}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getImport() + * @model + * @generated + */ +public interface Import extends EObject { + /** + * Returns the value of the 'Alias' attribute. + * + * + * @return the value of the 'Alias' attribute. + * @see #setAlias(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getImport_Alias() + * @model + * @generated + */ + String getAlias(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Import#getAlias Alias}' attribute. + * + * + * @param value the new value of the 'Alias' attribute. + * @see #getAlias() + * @generated + */ + void setAlias(String value); + +} // Import diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java new file mode 100644 index 00000000..1a105131 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java @@ -0,0 +1,16 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InlinePredicateAttrributes.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InlinePredicateAttrributes.java new file mode 100644 index 00000000..b715784a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InlinePredicateAttrributes.java @@ -0,0 +1,69 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Inline Predicate Attrributes'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isError Error}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isFunctional Functional}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInlinePredicateAttrributes() + * @model interface="true" abstract="true" + * @generated + */ +public interface InlinePredicateAttrributes extends EObject { + /** + * 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#getInlinePredicateAttrributes_Error() + * @model + * @generated + */ + boolean isError(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isError Error}' attribute. + * + * + * @param value the new value of the 'Error' attribute. + * @see #isError() + * @generated + */ + void setError(boolean 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#getInlinePredicateAttrributes_Functional() + * @model + * @generated + */ + boolean isFunctional(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isFunctional Functional}' attribute. + * + * + * @param value the new value of the 'Functional' attribute. + * @see #isFunctional() + * @generated + */ + void setFunctional(boolean value); + +} // InlinePredicateAttrributes diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntLiteral.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntLiteral.java new file mode 100644 index 00000000..ff8a3cf3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntLiteral.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Int Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IntLiteral#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntLiteral() + * @model + * @generated + */ +public interface IntLiteral extends Literal { + /** + * Returns the value of the 'Value' attribute. + * + * + * @return the value of the 'Value' attribute. + * @see #setValue(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntLiteral_Value() + * @model + * @generated + */ + int getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IntLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(int value); + +} // IntLiteral diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java new file mode 100644 index 00000000..fb8ac39c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java @@ -0,0 +1,67 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java new file mode 100644 index 00000000..cdf1f8eb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java @@ -0,0 +1,115 @@ +/** + */ +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#getValue Value}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable Variable}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding() + * @model + * @generated + */ +public interface LetBinding extends EObject { + /** + * 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); + + /** + * Returns the value of the 'Variable' containment reference. + * + * + * @return the value of the 'Variable' containment reference. + * @see #setVariable(Variable) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Variable() + * @model containment="true" transient="true" + * @generated + */ + Variable 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(Variable 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#getLetBinding_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Type() + * @model + * @generated + */ + Symbol getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(Symbol value); + +} // LetBinding diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetExpression.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetExpression.java new file mode 100644 index 00000000..d677503d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LetExpression.java @@ -0,0 +1,59 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Let Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetExpression#getBindings Bindings}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetExpression#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetExpression() + * @model + * @generated + */ +public interface LetExpression 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#getLetExpression_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#getLetExpression_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetExpression#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // LetExpression diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java new file mode 100644 index 00000000..b3ba8b10 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral() + * @model abstract="true" + * @generated + */ +public interface Literal extends Expression { +} // Literal diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java new file mode 100644 index 00000000..7f00fc98 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java @@ -0,0 +1,47 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java new file mode 100644 index 00000000..6b6148c0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java @@ -0,0 +1,250 @@ +/** + */ +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 'UNKNOWN' literal object. + * + * + * @see #UNKNOWN_VALUE + * @generated + * @ordered + */ + UNKNOWN(0, "UNKNOWN", "UNKNOWN"), + + /** + * The 'FALSE' literal object. + * + * + * @see #FALSE_VALUE + * @generated + * @ordered + */ + FALSE(1, "FALSE", "FALSE"), + + /** + * The 'TRUE' literal object. + * + * + * @see #TRUE_VALUE + * @generated + * @ordered + */ + TRUE(2, "TRUE", "TRUE"), + + /** + * The 'ERROR' literal object. + * + * + * @see #ERROR_VALUE + * @generated + * @ordered + */ + ERROR(3, "ERROR", "ERROR"); + + /** + * The 'UNKNOWN' literal value. + * + * + * @see #UNKNOWN + * @model + * @generated + * @ordered + */ + public static final int UNKNOWN_VALUE = 0; + + /** + * The 'FALSE' literal value. + * + * + * @see #FALSE + * @model + * @generated + * @ordered + */ + public static final int FALSE_VALUE = 1; + + /** + * The 'TRUE' literal value. + * + * + * @see #TRUE + * @model + * @generated + * @ordered + */ + public static final int TRUE_VALUE = 2; + + /** + * The 'ERROR' literal value. + * + * + * @see #ERROR + * @model + * @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[] { UNKNOWN, FALSE, TRUE, 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 UNKNOWN_VALUE: + return UNKNOWN; + case FALSE_VALUE: + return FALSE; + case TRUE_VALUE: + return TRUE; + 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 + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScope.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScope.java new file mode 100644 index 00000000..644ffa25 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScope.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Lower Bounded Scope'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope#getLowerBound Lower Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScope() + * @model + * @generated + */ +public interface LowerBoundedScope extends ScopeDeclaration { + /** + * 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#getLowerBoundedScope_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope#getLowerBound Lower Bound}' attribute. + * + * + * @param value the new value of the 'Lower Bound' attribute. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(int value); + +} // LowerBoundedScope diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java new file mode 100644 index 00000000..475e48a3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Metric'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetric() + * @model + * @generated + */ +public interface Metric extends Function { +} // Metric diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiaryExpession.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiaryExpession.java new file mode 100644 index 00000000..1f27beb7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiaryExpession.java @@ -0,0 +1,36 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Multiary Expession'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession#getChildren Children}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiaryExpession() + * @model abstract="true" + * @generated + */ +public interface MultiaryExpession 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#getMultiaryExpession_Children() + * @model containment="true" + * @generated + */ + EList getChildren(); + +} // MultiaryExpession diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java new file mode 100644 index 00000000..e759fb50 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java @@ -0,0 +1,18 @@ +/** + */ +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 abstract="true" + * @generated + */ +public interface Multiplicity extends EObject { +} // Multiplicity diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamespaceImport.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamespaceImport.java new file mode 100644 index 00000000..29224110 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamespaceImport.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Namespace Import'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport#getImportedNamespace Imported Namespace}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamespaceImport() + * @model + * @generated + */ +public interface NamespaceImport extends Import { + /** + * Returns the value of the 'Imported Namespace' attribute. + * + * + * @return the value of the 'Imported Namespace' attribute. + * @see #setImportedNamespace(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamespaceImport_ImportedNamespace() + * @model + * @generated + */ + String getImportedNamespace(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport#getImportedNamespace Imported Namespace}' attribute. + * + * + * @param value the new value of the 'Imported Namespace' attribute. + * @see #getImportedNamespace() + * @generated + */ + void setImportedNamespace(String value); + +} // NamespaceImport diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java new file mode 100644 index 00000000..01366406 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java @@ -0,0 +1,44 @@ +/** + */ +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#isNamed Named}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode() + * @model + * @generated + */ +public interface Node extends Symbol { + /** + * Returns the value of the 'Named' attribute. + * + * + * @return the value of the 'Named' attribute. + * @see #setNamed(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode_Named() + * @model + * @generated + */ + boolean isNamed(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Node#isNamed Named}' attribute. + * + * + * @param value the new value of the 'Named' attribute. + * @see #isNamed() + * @generated + */ + void setNamed(boolean value); + +} // Node diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDeclaration.java new file mode 100644 index 00000000..c446c245 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDeclaration.java @@ -0,0 +1,70 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Objective Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#getKind Kind}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#getObjective Objective}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDeclaration() + * @model + * @generated + */ +public interface ObjectiveDeclaration 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#getObjectiveDeclaration_Kind() + * @model + * @generated + */ + ObjectiveKind getKind(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#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#getObjectiveDeclaration_Objective() + * @model containment="true" + * @generated + */ + Expression getObjective(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#getObjective Objective}' containment reference. + * + * + * @param value the new value of the 'Objective' containment reference. + * @see #getObjective() + * @generated + */ + void setObjective(Expression value); + +} // ObjectiveDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java new file mode 100644 index 00000000..e81389fb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java @@ -0,0 +1,204 @@ +/** + */ +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 'MINIMIZATION' literal object. + * + * + * @see #MINIMIZATION_VALUE + * @generated + * @ordered + */ + MINIMIZATION(0, "MINIMIZATION", "MINIMIZATION"), + + /** + * The 'MAXIMIZATION' literal object. + * + * + * @see #MAXIMIZATION_VALUE + * @generated + * @ordered + */ + MAXIMIZATION(1, "MAXIMIZATION", "MAXIMIZATION"); + + /** + * The 'MINIMIZATION' literal value. + * + * + * @see #MINIMIZATION + * @model + * @generated + * @ordered + */ + public static final int MINIMIZATION_VALUE = 0; + + /** + * The 'MAXIMIZATION' literal value. + * + * + * @see #MAXIMIZATION + * @model + * @generated + * @ordered + */ + public static final int MAXIMIZATION_VALUE = 1; + + /** + * An array of all the 'Objective Kind' enumerators. + * + * + * @generated + */ + private static final ObjectiveKind[] VALUES_ARRAY = new ObjectiveKind[] { MINIMIZATION, MAXIMIZATION, }; + + /** + * 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 MINIMIZATION_VALUE: + return MINIMIZATION; + case MAXIMIZATION_VALUE: + return MAXIMIZATION; + } + 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 + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Operator.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Operator.java new file mode 100644 index 00000000..1da3f3a5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Operator.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Operator'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getOperator() + * @model + * @generated + */ +public interface Operator extends Function { +} // Operator diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PathComponent.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PathComponent.java new file mode 100644 index 00000000..ba0b8d7e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PathComponent.java @@ -0,0 +1,115 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Path Component'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#getSymbol Symbol}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isInverse Inverse}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isTransitiveClosure Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPathComponent() + * @model + * @generated + */ +public interface PathComponent extends EObject { + /** + * Returns the value of the 'Symbol' reference. + * + * + * @return the value of the 'Symbol' reference. + * @see #setSymbol(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPathComponent_Symbol() + * @model + * @generated + */ + Symbol getSymbol(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#getSymbol Symbol}' reference. + * + * + * @param value the new value of the 'Symbol' reference. + * @see #getSymbol() + * @generated + */ + void setSymbol(Symbol value); + + /** + * Returns the value of the 'Inverse' attribute. + * + * + * @return the value of the 'Inverse' attribute. + * @see #setInverse(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPathComponent_Inverse() + * @model + * @generated + */ + boolean isInverse(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isInverse Inverse}' attribute. + * + * + * @param value the new value of the 'Inverse' attribute. + * @see #isInverse() + * @generated + */ + void setInverse(boolean 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#getPathComponent_TransitiveClosure() + * @model + * @generated + */ + boolean isTransitiveClosure(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#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#getPathComponent_ReflexiveTransitiveClosure() + * @model + * @generated + */ + boolean isReflexiveTransitiveClosure(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isReflexiveTransitiveClosure Reflexive Transitive Closure}' attribute. + * + * + * @param value the new value of the 'Reflexive Transitive Closure' attribute. + * @see #isReflexiveTransitiveClosure() + * @generated + */ + void setReflexiveTransitiveClosure(boolean value); + +} // PathComponent diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java new file mode 100644 index 00000000..9272916f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java @@ -0,0 +1,16 @@ +/** + */ +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 Relation { +} // Predicate diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java new file mode 100644 index 00000000..f99fb162 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Predicate Definition'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition() + * @model + * @generated + */ +public interface PredicateDefinition extends FunctorDefiniton, InlinePredicateAttrributes { +} // PredicateDefinition diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java new file mode 100644 index 00000000..ca54b06c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java @@ -0,0 +1,87 @@ +/** + */ +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#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements Statements}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getSymbols Symbols}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getImports Imports}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem() + * @model + * @generated + */ +public interface Problem 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#getProblem_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * 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(); + + /** + * Returns the value of the 'Symbols' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Symbol}. + * + * + * @return the value of the 'Symbols' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Symbols() + * @model containment="true" transient="true" + * @generated + */ + EList getSymbols(); + + /** + * Returns the value of the 'Imports' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Import}. + * + * + * @return the value of the 'Imports' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Imports() + * @model containment="true" + * @generated + */ + EList getImports(); + +} // Problem diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealLiteral.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealLiteral.java new file mode 100644 index 00000000..f6646284 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealLiteral.java @@ -0,0 +1,46 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.math.BigDecimal; + +/** + * + * A representation of the model object 'Real Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.RealLiteral#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealLiteral() + * @model + * @generated + */ +public interface RealLiteral 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#getRealLiteral_Value() + * @model + * @generated + */ + BigDecimal getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.RealLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(BigDecimal value); + +} // RealLiteral diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java new file mode 100644 index 00000000..5641337f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java @@ -0,0 +1,36 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Reference'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getComponents Components}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference() + * @model + * @generated + */ +public interface Reference extends Expression { + /** + * Returns the value of the 'Components' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent}. + * + * + * @return the value of the 'Components' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference_Components() + * @model containment="true" + * @generated + */ + EList getComponents(); + +} // Reference diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Relation.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Relation.java new file mode 100644 index 00000000..3d35a55e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Relation.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Relation'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRelation() + * @model abstract="true" + * @generated + */ +public interface Relation extends Functor { +} // Relation diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDeclaration.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDeclaration.java new file mode 100644 index 00000000..4ab92418 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDeclaration.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Scope Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDeclaration() + * @model + * @generated + */ +public interface ScopeDeclaration extends Statement { + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDeclaration_Type() + * @model + * @generated + */ + Symbol getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(Symbol value); + +} // ScopeDeclaration diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java new file mode 100644 index 00000000..6192f942 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java @@ -0,0 +1,592 @@ +/** + */ +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 'Path Component'. + * + * + * @return a new object of class 'Path Component'. + * @generated + */ + PathComponent createPathComponent(); + + /** + * Returns a new object of class 'Call'. + * + * + * @return a new object of class 'Call'. + * @generated + */ + Call createCall(); + + /** + * Returns a new object of class 'Reference'. + * + * + * @return a new object of class 'Reference'. + * @generated + */ + Reference createReference(); + + /** + * 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 '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 'Variable'. + * + * + * @return a new object of class 'Variable'. + * @generated + */ + Variable createVariable(); + + /** + * 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 'Binary Expression'. + * + * + * @return a new object of class 'Binary Expression'. + * @generated + */ + BinaryExpression createBinaryExpression(); + + /** + * Returns a new object of class 'Disjunction'. + * + * + * @return a new object of class 'Disjunction'. + * @generated + */ + Disjunction createDisjunction(); + + /** + * Returns a new object of class 'Conjunction'. + * + * + * @return a new object of class 'Conjunction'. + * @generated + */ + Conjunction createConjunction(); + + /** + * Returns a new object of class 'Conditional Expression'. + * + * + * @return a new object of class 'Conditional Expression'. + * @generated + */ + ConditionalExpression createConditionalExpression(); + + /** + * Returns a new object of class 'Switch'. + * + * + * @return a new object of class 'Switch'. + * @generated + */ + Switch createSwitch(); + + /** + * Returns a new object of class 'Case'. + * + * + * @return a new object of class 'Case'. + * @generated + */ + Case createCase(); + + /** + * Returns a new object of class 'Let Expression'. + * + * + * @return a new object of class 'Let Expression'. + * @generated + */ + LetExpression createLetExpression(); + + /** + * 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 'Int Literal'. + * + * + * @return a new object of class 'Int Literal'. + * @generated + */ + IntLiteral createIntLiteral(); + + /** + * Returns a new object of class 'Real Literal'. + * + * + * @return a new object of class 'Real Literal'. + * @generated + */ + RealLiteral createRealLiteral(); + + /** + * 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 'Logic Literal'. + * + * + * @return a new object of class 'Logic Literal'. + * @generated + */ + LogicLiteral createLogicLiteral(); + + /** + * Returns a new object of class 'Empty Literal'. + * + * + * @return a new object of class 'Empty Literal'. + * @generated + */ + EmptyLiteral createEmptyLiteral(); + + /** + * 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 'Count'. + * + * + * @return a new object of class 'Count'. + * @generated + */ + Count createCount(); + + /** + * Returns a new object of class 'Aggregation'. + * + * + * @return a new object of class 'Aggregation'. + * @generated + */ + Aggregation createAggregation(); + + /** + * Returns a new object of class 'Forall'. + * + * + * @return a new object of class 'Forall'. + * @generated + */ + Forall createForall(); + + /** + * Returns a new object of class 'Type Reference'. + * + * + * @return a new object of class 'Type Reference'. + * @generated + */ + TypeReference createTypeReference(); + + /** + * 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 'Interval'. + * + * + * @return a new object of class 'Interval'. + * @generated + */ + Interval createInterval(); + + /** + * Returns a new object of class 'Base Relation'. + * + * + * @return a new object of class 'Base Relation'. + * @generated + */ + BaseRelation createBaseRelation(); + + /** + * Returns a new object of class 'Predicate'. + * + * + * @return a new object of class 'Predicate'. + * @generated + */ + Predicate createPredicate(); + + /** + * Returns a new object of class 'Datatype'. + * + * + * @return a new object of class 'Datatype'. + * @generated + */ + Datatype createDatatype(); + + /** + * Returns a new object of class 'Metric'. + * + * + * @return a new object of class 'Metric'. + * @generated + */ + Metric createMetric(); + + /** + * Returns a new object of class 'Operator'. + * + * + * @return a new object of class 'Operator'. + * @generated + */ + Operator createOperator(); + + /** + * Returns a new object of class 'Node'. + * + * + * @return a new object of class 'Node'. + * @generated + */ + Node createNode(); + + /** + * 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 'Function Definition'. + * + * + * @return a new object of class 'Function Definition'. + * @generated + */ + FunctionDefinition createFunctionDefinition(); + + /** + * Returns a new object of class 'Extern Predicate Declaration'. + * + * + * @return a new object of class 'Extern Predicate Declaration'. + * @generated + */ + ExternPredicateDeclaration createExternPredicateDeclaration(); + + /** + * Returns a new object of class 'Extern Function Declaration'. + * + * + * @return a new object of class 'Extern Function Declaration'. + * @generated + */ + ExternFunctionDeclaration createExternFunctionDeclaration(); + + /** + * Returns a new object of class 'Extern Aggregation Operator Declaration'. + * + * + * @return a new object of class 'Extern Aggregation Operator Declaration'. + * @generated + */ + ExternAggregationOperatorDeclaration createExternAggregationOperatorDeclaration(); + + /** + * Returns a new object of class 'Extern Datatype Declaration'. + * + * + * @return a new object of class 'Extern Datatype Declaration'. + * @generated + */ + ExternDatatypeDeclaration createExternDatatypeDeclaration(); + + /** + * Returns a new object of class 'Class Declaration'. + * + * + * @return a new object of class 'Class Declaration'. + * @generated + */ + ClassDeclaration createClassDeclaration(); + + /** + * Returns a new object of class 'Enum Declaration'. + * + * + * @return a new object of class 'Enum Declaration'. + * @generated + */ + EnumDeclaration createEnumDeclaration(); + + /** + * Returns a new object of class 'Enum Literal'. + * + * + * @return a new object of class 'Enum Literal'. + * @generated + */ + EnumLiteral createEnumLiteral(); + + /** + * Returns a new object of class 'Field'. + * + * + * @return a new object of class 'Field'. + * @generated + */ + Field createField(); + + /** + * Returns a new object of class 'Default Assertion'. + * + * + * @return a new object of class 'Default Assertion'. + * @generated + */ + DefaultAssertion createDefaultAssertion(); + + /** + * Returns a new object of class 'Assertion'. + * + * + * @return a new object of class 'Assertion'. + * @generated + */ + Assertion createAssertion(); + + /** + * Returns a new object of class 'Unbounded Multiplicity'. + * + * + * @return a new object of class 'Unbounded Multiplicity'. + * @generated + */ + UnboundedMultiplicity createUnboundedMultiplicity(); + + /** + * 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 'Aggregation Operator'. + * + * + * @return a new object of class 'Aggregation Operator'. + * @generated + */ + AggregationOperator createAggregationOperator(); + + /** + * Returns a new object of class 'Problem'. + * + * + * @return a new object of class 'Problem'. + * @generated + */ + Problem createProblem(); + + /** + * 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 'Typed Variable Argument'. + * + * + * @return a new object of class 'Typed Variable Argument'. + * @generated + */ + TypedVariableArgument createTypedVariableArgument(); + + /** + * Returns a new object of class 'Unnamed Error Predicate Defintion'. + * + * + * @return a new object of class 'Unnamed Error Predicate Defintion'. + * @generated + */ + UnnamedErrorPredicateDefintion createUnnamedErrorPredicateDefintion(); + + /** + * Returns a new object of class 'Objective Declaration'. + * + * + * @return a new object of class 'Objective Declaration'. + * @generated + */ + ObjectiveDeclaration createObjectiveDeclaration(); + + /** + * Returns a new object of class 'Scope Declaration'. + * + * + * @return a new object of class 'Scope Declaration'. + * @generated + */ + ScopeDeclaration createScopeDeclaration(); + + /** + * Returns a new object of class 'Exact Scope'. + * + * + * @return a new object of class 'Exact Scope'. + * @generated + */ + ExactScope createExactScope(); + + /** + * Returns a new object of class 'Bounded Scope'. + * + * + * @return a new object of class 'Bounded Scope'. + * @generated + */ + BoundedScope createBoundedScope(); + + /** + * Returns a new object of class 'Lower Bounded Scope'. + * + * + * @return a new object of class 'Lower Bounded Scope'. + * @generated + */ + LowerBoundedScope createLowerBoundedScope(); + + /** + * Returns a new object of class 'Namespace Import'. + * + * + * @return a new object of class 'Namespace Import'. + * @generated + */ + NamespaceImport createNamespaceImport(); + + /** + * Returns a new object of class 'Import'. + * + * + * @return a new object of class 'Import'. + * @generated + */ + Import createImport(); + + /** + * Returns a new object of class 'Uri Import'. + * + * + * @return a new object of class 'Uri Import'. + * @generated + */ + UriImport createUriImport(); + + /** + * 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java new file mode 100644 index 00000000..ff1696db --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java @@ -0,0 +1,7554 @@ +/** + */ +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 operation 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.PathComponentImpl Path Component}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPathComponent() + * @generated + */ + int PATH_COMPONENT = 0; + + /** + * The feature id for the 'Symbol' reference. + * + * + * @generated + * @ordered + */ + int PATH_COMPONENT__SYMBOL = 0; + + /** + * The feature id for the 'Inverse' attribute. + * + * + * @generated + * @ordered + */ + int PATH_COMPONENT__INVERSE = 1; + + /** + * The feature id for the 'Transitive Closure' attribute. + * + * + * @generated + * @ordered + */ + int PATH_COMPONENT__TRANSITIVE_CLOSURE = 2; + + /** + * The feature id for the 'Reflexive Transitive Closure' attribute. + * + * + * @generated + * @ordered + */ + int PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE = 3; + + /** + * The number of structural features of the 'Path Component' class. + * + * + * @generated + * @ordered + */ + int PATH_COMPONENT_FEATURE_COUNT = 4; + + /** + * The number of operations of the 'Path Component' class. + * + * + * @generated + * @ordered + */ + int PATH_COMPONENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl Symbol}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol() + * @generated + */ + int SYMBOL = 1; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int SYMBOL__NAME = 0; + + /** + * The number of structural features of the 'Symbol' class. + * + * + * @generated + * @ordered + */ + int SYMBOL_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Symbol' class. + * + * + * @generated + * @ordered + */ + int SYMBOL_OPERATION_COUNT = 0; + + /** + * 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 = 44; + + /** + * The number of structural features of the 'Statement' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_FEATURE_COUNT = 0; + + /** + * The number of operations of the 'Statement' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_OPERATION_COUNT = 0; + + /** + * 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 = 4; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int EXPRESSION__EXISTS_VARIABLES = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Expression' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Expression' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * 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 = 2; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int CALL__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Functor' containment reference. + * + * + * @generated + * @ordered + */ + int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Call' class. + * + * + * @generated + * @ordered + */ + int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Call' class. + * + * + * @generated + * @ordered + */ + int CALL_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 3; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int REFERENCE__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Components' containment reference list. + * + * + * @generated + * @ordered + */ + int REFERENCE__COMPONENTS = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Reference' class. + * + * + * @generated + * @ordered + */ + int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Reference' class. + * + * + * @generated + * @ordered + */ + int REFERENCE_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 5; + + /** + * The number of structural features of the 'Argument' class. + * + * + * @generated + * @ordered + */ + int ARGUMENT_FEATURE_COUNT = 0; + + /** + * The number of operations of the 'Argument' class. + * + * + * @generated + * @ordered + */ + int ARGUMENT_OPERATION_COUNT = 0; + + /** + * 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 = 6; + + /** + * 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 number of operations of the 'Argument List' class. + * + * + * @generated + * @ordered + */ + int ARGUMENT_LIST_OPERATION_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 = 7; + + /** + * The feature id for the 'Expression' containment reference. + * + * + * @generated + * @ordered + */ + int EXPRESSION_ARGUMENT__EXPRESSION = 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 number of operations of the 'Expression Argument' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_ARGUMENT_OPERATION_COUNT = ARGUMENT_OPERATION_COUNT + 0; + + /** + * 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 = 8; + + /** + * The number of structural features of the 'Star Argument' class. + * + * + * @generated + * @ordered + */ + int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Star Argument' class. + * + * + * @generated + * @ordered + */ + int STAR_ARGUMENT_OPERATION_COUNT = ARGUMENT_OPERATION_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 = 9; + + /** + * The feature id for the 'Type Reference' containment reference. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT__TYPE_REFERENCE = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Typed Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Typed Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT_OPERATION_COUNT = ARGUMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiaryExpessionImpl Multiary Expession}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiaryExpessionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiaryExpession() + * @generated + */ + int MULTIARY_EXPESSION = 10; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int MULTIARY_EXPESSION__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int MULTIARY_EXPESSION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Multiary Expession' class. + * + * + * @generated + * @ordered + */ + int MULTIARY_EXPESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Multiary Expession' class. + * + * + * @generated + * @ordered + */ + int MULTIARY_EXPESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 11; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE__NAME = SYMBOL__NAME; + + /** + * The feature id for the 'Type Reference' containment reference. + * + * + * @generated + * @ordered + */ + int VARIABLE__TYPE_REFERENCE = SYMBOL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Variable' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Variable' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_OPERATION_COUNT = SYMBOL_OPERATION_COUNT + 0; + + /** + * 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 = 12; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__OP = 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 number of operations of the 'Unary Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 13; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__LEFT = 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 number of operations of the 'Binary Expression' class. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 14; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__EXISTS_VARIABLES = MULTIARY_EXPESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__CHILDREN = MULTIARY_EXPESSION__CHILDREN; + + /** + * The number of structural features of the 'Disjunction' class. + * + * + * @generated + * @ordered + */ + int DISJUNCTION_FEATURE_COUNT = MULTIARY_EXPESSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Disjunction' class. + * + * + * @generated + * @ordered + */ + int DISJUNCTION_OPERATION_COUNT = MULTIARY_EXPESSION_OPERATION_COUNT + 0; + + /** + * 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 = 15; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__EXISTS_VARIABLES = MULTIARY_EXPESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__CHILDREN = MULTIARY_EXPESSION__CHILDREN; + + /** + * The number of structural features of the 'Conjunction' class. + * + * + * @generated + * @ordered + */ + int CONJUNCTION_FEATURE_COUNT = MULTIARY_EXPESSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Conjunction' class. + * + * + * @generated + * @ordered + */ + int CONJUNCTION_OPERATION_COUNT = MULTIARY_EXPESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl Conditional Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConditionalExpression() + * @generated + */ + int CONDITIONAL_EXPRESSION = 16; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_EXPRESSION__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_EXPRESSION__CONDITION = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Then' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_EXPRESSION__THEN = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Else' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_EXPRESSION__ELSE = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Conditional Expression' class. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The number of operations of the 'Conditional Expression' class. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 17; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int SWITCH__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * 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 number of operations of the 'Switch' class. + * + * + * @generated + * @ordered + */ + int SWITCH_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 18; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int CASE__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Case' class. + * + * + * @generated + * @ordered + */ + int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Case' class. + * + * + * @generated + * @ordered + */ + int CASE_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetExpressionImpl Let Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetExpression() + * @generated + */ + int LET_EXPRESSION = 19; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Bindings' containment reference list. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION__BINDINGS = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Let Expression' class. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Let Expression' class. + * + * + * @generated + * @ordered + */ + int LET_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 20; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int LET_BINDING__VALUE = 0; + + /** + * The feature id for the 'Variable' containment reference. + * + * + * @generated + * @ordered + */ + int LET_BINDING__VARIABLE = 1; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int LET_BINDING__NAME = 2; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int LET_BINDING__TYPE = 3; + + /** + * The number of structural features of the 'Let Binding' class. + * + * + * @generated + * @ordered + */ + int LET_BINDING_FEATURE_COUNT = 4; + + /** + * The number of operations of the 'Let Binding' class. + * + * + * @generated + * @ordered + */ + int LET_BINDING_OPERATION_COUNT = 0; + + /** + * 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 = 21; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int LITERAL__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The number of structural features of the 'Literal' class. + * + * + * @generated + * @ordered + */ + int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Literal' class. + * + * + * @generated + * @ordered + */ + int LITERAL_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntLiteralImpl Int Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntLiteral() + * @generated + */ + int INT_LITERAL = 22; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int INT_LITERAL__EXISTS_VARIABLES = LITERAL__EXISTS_VARIABLES; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int INT_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Int Literal' class. + * + * + * @generated + * @ordered + */ + int INT_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Int Literal' class. + * + * + * @generated + * @ordered + */ + int INT_LITERAL_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealLiteralImpl Real Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealLiteral() + * @generated + */ + int REAL_LITERAL = 23; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int REAL_LITERAL__EXISTS_VARIABLES = LITERAL__EXISTS_VARIABLES; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int REAL_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Real Literal' class. + * + * + * @generated + * @ordered + */ + int REAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Real Literal' class. + * + * + * @generated + * @ordered + */ + int REAL_LITERAL_OPERATION_COUNT = LITERAL_OPERATION_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 = 24; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL__EXISTS_VARIABLES = LITERAL__EXISTS_VARIABLES; + + /** + * 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 number of operations of the 'String Literal' class. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_OPERATION_COUNT = LITERAL_OPERATION_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 = 25; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int LOGIC_LITERAL__EXISTS_VARIABLES = LITERAL__EXISTS_VARIABLES; + + /** + * 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 number of operations of the 'Logic Literal' class. + * + * + * @generated + * @ordered + */ + int LOGIC_LITERAL_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyLiteralImpl Empty Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyLiteral() + * @generated + */ + int EMPTY_LITERAL = 26; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int EMPTY_LITERAL__EXISTS_VARIABLES = LITERAL__EXISTS_VARIABLES; + + /** + * The number of structural features of the 'Empty Literal' class. + * + * + * @generated + * @ordered + */ + int EMPTY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Empty Literal' class. + * + * + * @generated + * @ordered + */ + int EMPTY_LITERAL_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 0; + + /** + * 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 = 27; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Target Type' reference. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION__TARGET_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 number of operations of the 'Cast Expression' class. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregateExpressionImpl Aggregate Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregateExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregateExpression() + * @generated + */ + int AGGREGATE_EXPRESSION = 28; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int AGGREGATE_EXPRESSION__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Forall Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int AGGREGATE_EXPRESSION__FORALL_VARIABLES = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATE_EXPRESSION__CONDITION = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Aggregate Expression' class. + * + * + * @generated + * @ordered + */ + int AGGREGATE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Aggregate Expression' class. + * + * + * @generated + * @ordered + */ + int AGGREGATE_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl Count}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount() + * @generated + */ + int COUNT = 29; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int COUNT__EXISTS_VARIABLES = AGGREGATE_EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Forall Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int COUNT__FORALL_VARIABLES = AGGREGATE_EXPRESSION__FORALL_VARIABLES; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int COUNT__CONDITION = AGGREGATE_EXPRESSION__CONDITION; + + /** + * The number of structural features of the 'Count' class. + * + * + * @generated + * @ordered + */ + int COUNT_FEATURE_COUNT = AGGREGATE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Count' class. + * + * + * @generated + * @ordered + */ + int COUNT_OPERATION_COUNT = AGGREGATE_EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 30; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int AGGREGATION__EXISTS_VARIABLES = AGGREGATE_EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Forall Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int AGGREGATION__FORALL_VARIABLES = AGGREGATE_EXPRESSION__FORALL_VARIABLES; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__CONDITION = AGGREGATE_EXPRESSION__CONDITION; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__VALUE = AGGREGATE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Op' reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__OP = AGGREGATE_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Aggregation' class. + * + * + * @generated + * @ordered + */ + int AGGREGATION_FEATURE_COUNT = AGGREGATE_EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Aggregation' class. + * + * + * @generated + * @ordered + */ + int AGGREGATION_OPERATION_COUNT = AGGREGATE_EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ForallImpl Forall}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ForallImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getForall() + * @generated + */ + int FORALL = 31; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int FORALL__EXISTS_VARIABLES = AGGREGATE_EXPRESSION__EXISTS_VARIABLES; + + /** + * The feature id for the 'Forall Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int FORALL__FORALL_VARIABLES = AGGREGATE_EXPRESSION__FORALL_VARIABLES; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int FORALL__CONDITION = AGGREGATE_EXPRESSION__CONDITION; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int FORALL__BODY = AGGREGATE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Forall' class. + * + * + * @generated + * @ordered + */ + int FORALL_FEATURE_COUNT = AGGREGATE_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Forall' class. + * + * + * @generated + * @ordered + */ + int FORALL_OPERATION_COUNT = AGGREGATE_EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl Type Reference}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypeReference() + * @generated + */ + int TYPE_REFERENCE = 32; + + /** + * The feature id for the 'Force Object Type' attribute. + * + * + * @generated + * @ordered + */ + int TYPE_REFERENCE__FORCE_OBJECT_TYPE = 0; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int TYPE_REFERENCE__TYPE = 1; + + /** + * The number of structural features of the 'Type Reference' class. + * + * + * @generated + * @ordered + */ + int TYPE_REFERENCE_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Type Reference' class. + * + * + * @generated + * @ordered + */ + int TYPE_REFERENCE_OPERATION_COUNT = 0; + + /** + * 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 = 33; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int INFINITY_LITERAL__EXISTS_VARIABLES = LITERAL__EXISTS_VARIABLES; + + /** + * The number of structural features of the 'Infinity Literal' class. + * + * + * @generated + * @ordered + */ + int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Infinity Literal' class. + * + * + * @generated + * @ordered + */ + int INFINITY_LITERAL_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 0; + + /** + * 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 = 34; + + /** + * The feature id for the 'Exists Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int INTERVAL__EXISTS_VARIABLES = EXPRESSION__EXISTS_VARIABLES; + + /** + * 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 number of operations of the 'Interval' class. + * + * + * @generated + * @ordered + */ + int INTERVAL_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * 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 = 35; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int FUNCTOR__NAME = SYMBOL__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int FUNCTOR__PARAMETERS = SYMBOL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Functor' class. + * + * + * @generated + * @ordered + */ + int FUNCTOR_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Functor' class. + * + * + * @generated + * @ordered + */ + int FUNCTOR_OPERATION_COUNT = SYMBOL_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RelationImpl Relation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RelationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRelation() + * @generated + */ + int RELATION = 36; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int RELATION__NAME = FUNCTOR__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int RELATION__PARAMETERS = FUNCTOR__PARAMETERS; + + /** + * The number of structural features of the 'Relation' class. + * + * + * @generated + * @ordered + */ + int RELATION_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Relation' class. + * + * + * @generated + * @ordered + */ + int RELATION_OPERATION_COUNT = FUNCTOR_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BaseRelationImpl Base Relation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BaseRelationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBaseRelation() + * @generated + */ + int BASE_RELATION = 37; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int BASE_RELATION__NAME = RELATION__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int BASE_RELATION__PARAMETERS = RELATION__PARAMETERS; + + /** + * The number of structural features of the 'Base Relation' class. + * + * + * @generated + * @ordered + */ + int BASE_RELATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Base Relation' class. + * + * + * @generated + * @ordered + */ + int BASE_RELATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; + + /** + * 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 = 38; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE__NAME = RELATION__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int PREDICATE__PARAMETERS = RELATION__PARAMETERS; + + /** + * The number of structural features of the 'Predicate' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_FEATURE_COUNT = RELATION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Predicate' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DatatypeImpl Datatype}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DatatypeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDatatype() + * @generated + */ + int DATATYPE = 39; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int DATATYPE__NAME = RELATION__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int DATATYPE__PARAMETERS = RELATION__PARAMETERS; + + /** + * The number of structural features of the 'Datatype' class. + * + * + * @generated + * @ordered + */ + int DATATYPE_FEATURE_COUNT = RELATION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Datatype' class. + * + * + * @generated + * @ordered + */ + int DATATYPE_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionImpl Function}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunction() + * @generated + */ + int FUNCTION = 40; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int FUNCTION__NAME = FUNCTOR__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int FUNCTION__PARAMETERS = FUNCTOR__PARAMETERS; + + /** + * The feature id for the 'Result Type' reference. + * + * + * @generated + * @ordered + */ + int FUNCTION__RESULT_TYPE = FUNCTOR_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Function' class. + * + * + * @generated + * @ordered + */ + int FUNCTION_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Function' class. + * + * + * @generated + * @ordered + */ + int FUNCTION_OPERATION_COUNT = FUNCTOR_OPERATION_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 = 41; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int METRIC__NAME = FUNCTION__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int METRIC__PARAMETERS = FUNCTION__PARAMETERS; + + /** + * The feature id for the 'Result Type' reference. + * + * + * @generated + * @ordered + */ + int METRIC__RESULT_TYPE = FUNCTION__RESULT_TYPE; + + /** + * The number of structural features of the 'Metric' class. + * + * + * @generated + * @ordered + */ + int METRIC_FEATURE_COUNT = FUNCTION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Metric' class. + * + * + * @generated + * @ordered + */ + int METRIC_OPERATION_COUNT = FUNCTION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.OperatorImpl Operator}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.OperatorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getOperator() + * @generated + */ + int OPERATOR = 42; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int OPERATOR__NAME = FUNCTION__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int OPERATOR__PARAMETERS = FUNCTION__PARAMETERS; + + /** + * The feature id for the 'Result Type' reference. + * + * + * @generated + * @ordered + */ + int OPERATOR__RESULT_TYPE = FUNCTION__RESULT_TYPE; + + /** + * The number of structural features of the 'Operator' class. + * + * + * @generated + * @ordered + */ + int OPERATOR_FEATURE_COUNT = FUNCTION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Operator' class. + * + * + * @generated + * @ordered + */ + int OPERATOR_OPERATION_COUNT = FUNCTION_OPERATION_COUNT + 0; + + /** + * 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 = 43; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int NODE__NAME = SYMBOL__NAME; + + /** + * The feature id for the 'Named' attribute. + * + * + * @generated + * @ordered + */ + int NODE__NAMED = SYMBOL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Node' class. + * + * + * @generated + * @ordered + */ + int NODE_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Node' class. + * + * + * @generated + * @ordered + */ + int NODE_OPERATION_COUNT = SYMBOL_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AbstractAssertionImpl Abstract Assertion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AbstractAssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAbstractAssertion() + * @generated + */ + int ABSTRACT_ASSERTION = 45; + + /** + * The feature id for the 'Expression' containment reference. + * + * + * @generated + * @ordered + */ + int ABSTRACT_ASSERTION__EXPRESSION = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Range' containment reference. + * + * + * @generated + * @ordered + */ + int ABSTRACT_ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Abstract Assertion' class. + * + * + * @generated + * @ordered + */ + int ABSTRACT_ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Abstract Assertion' class. + * + * + * @generated + * @ordered + */ + int ABSTRACT_ASSERTION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl Functor Definiton}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctorDefiniton() + * @generated + */ + int FUNCTOR_DEFINITON = 46; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int FUNCTOR_DEFINITON__HEAD = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int FUNCTOR_DEFINITON__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Functor Definiton' class. + * + * + * @generated + * @ordered + */ + int FUNCTOR_DEFINITON_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Functor Definiton' class. + * + * + * @generated + * @ordered + */ + int FUNCTOR_DEFINITON_OPERATION_COUNT = STATEMENT_OPERATION_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 = 47; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__HEAD = FUNCTOR_DEFINITON__HEAD; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__BODY = FUNCTOR_DEFINITON__BODY; + + /** + * The feature id for the 'Error' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__ERROR = FUNCTOR_DEFINITON_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Functional' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__FUNCTIONAL = FUNCTOR_DEFINITON_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Predicate Definition' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION_FEATURE_COUNT = FUNCTOR_DEFINITON_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Predicate Definition' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION_OPERATION_COUNT = FUNCTOR_DEFINITON_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionDefinitionImpl Function Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctionDefinition() + * @generated + */ + int FUNCTION_DEFINITION = 48; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int FUNCTION_DEFINITION__HEAD = FUNCTOR_DEFINITON__HEAD; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int FUNCTION_DEFINITION__BODY = FUNCTOR_DEFINITON__BODY; + + /** + * The feature id for the 'Result Type' reference. + * + * + * @generated + * @ordered + */ + int FUNCTION_DEFINITION__RESULT_TYPE = FUNCTOR_DEFINITON_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Function Definition' class. + * + * + * @generated + * @ordered + */ + int FUNCTION_DEFINITION_FEATURE_COUNT = FUNCTOR_DEFINITON_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Function Definition' class. + * + * + * @generated + * @ordered + */ + int FUNCTION_DEFINITION_OPERATION_COUNT = FUNCTOR_DEFINITON_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl Attribute}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAttribute() + * @generated + */ + int ATTRIBUTE = 49; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int ATTRIBUTE__TARGET = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Kind' attribute. + * + * + * @generated + * @ordered + */ + int ATTRIBUTE__KIND = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Attribute' class. + * + * + * @generated + * @ordered + */ + int ATTRIBUTE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Attribute' class. + * + * + * @generated + * @ordered + */ + int ATTRIBUTE_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDeclarationImpl Extern Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDeclaration() + * @generated + */ + int EXTERN_DECLARATION = 50; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_DECLARATION__NAME = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Extern Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_DECLARATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Extern Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_DECLARATION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctorDeclarationImpl Extern Functor Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctorDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternFunctorDeclaration() + * @generated + */ + int EXTERN_FUNCTOR_DECLARATION = 51; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTOR_DECLARATION__NAME = EXTERN_DECLARATION__NAME; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST = EXTERN_DECLARATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Extern Functor Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTOR_DECLARATION_FEATURE_COUNT = EXTERN_DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Extern Functor Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTOR_DECLARATION_OPERATION_COUNT = EXTERN_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDeclarationImpl Extern Predicate Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDeclaration() + * @generated + */ + int EXTERN_PREDICATE_DECLARATION = 52; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DECLARATION__NAME = EXTERN_FUNCTOR_DECLARATION__NAME; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DECLARATION__ARGUMENT_LIST = EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST; + + /** + * The feature id for the 'Error' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DECLARATION__ERROR = EXTERN_FUNCTOR_DECLARATION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Functional' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DECLARATION__FUNCTIONAL = EXTERN_FUNCTOR_DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Extern Predicate Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DECLARATION_FEATURE_COUNT = EXTERN_FUNCTOR_DECLARATION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Extern Predicate Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DECLARATION_OPERATION_COUNT = EXTERN_FUNCTOR_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctionDeclarationImpl Extern Function Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctionDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternFunctionDeclaration() + * @generated + */ + int EXTERN_FUNCTION_DECLARATION = 53; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTION_DECLARATION__NAME = EXTERN_FUNCTOR_DECLARATION__NAME; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTION_DECLARATION__ARGUMENT_LIST = EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST; + + /** + * The feature id for the 'Result Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTION_DECLARATION__RESULT_TYPE = EXTERN_FUNCTOR_DECLARATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Extern Function Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTION_DECLARATION_FEATURE_COUNT = EXTERN_FUNCTOR_DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Extern Function Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_FUNCTION_DECLARATION_OPERATION_COUNT = EXTERN_FUNCTOR_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl Extern Aggregation Operator Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregationOperatorDeclaration() + * @generated + */ + int EXTERN_AGGREGATION_OPERATOR_DECLARATION = 54; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATION_OPERATOR_DECLARATION__NAME = EXTERN_DECLARATION__NAME; + + /** + * The feature id for the 'Argument Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE = EXTERN_DECLARATION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Result Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE = EXTERN_DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Extern Aggregation Operator Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATION_OPERATOR_DECLARATION_FEATURE_COUNT = EXTERN_DECLARATION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Extern Aggregation Operator Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATION_OPERATOR_DECLARATION_OPERATION_COUNT = EXTERN_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDeclarationImpl Extern Datatype Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDeclaration() + * @generated + */ + int EXTERN_DATATYPE_DECLARATION = 55; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DECLARATION__NAME = EXTERN_DECLARATION__NAME; + + /** + * The number of structural features of the 'Extern Datatype Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DECLARATION_FEATURE_COUNT = EXTERN_DECLARATION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Extern Datatype Declaration' class. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DECLARATION_OPERATION_COUNT = EXTERN_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl Class Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDeclaration() + * @generated + */ + int CLASS_DECLARATION = 56; + + /** + * The feature id for the 'Fields' containment reference list. + * + * + * @generated + * @ordered + */ + int CLASS_DECLARATION__FIELDS = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int CLASS_DECLARATION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int CLASS_DECLARATION__ABSTRACT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Supertypes' reference list. + * + * + * @generated + * @ordered + */ + int CLASS_DECLARATION__SUPERTYPES = STATEMENT_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Root' attribute. + * + * + * @generated + * @ordered + */ + int CLASS_DECLARATION__ROOT = STATEMENT_FEATURE_COUNT + 4; + + /** + * The number of structural features of the 'Class Declaration' class. + * + * + * @generated + * @ordered + */ + int CLASS_DECLARATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 5; + + /** + * The number of operations of the 'Class Declaration' class. + * + * + * @generated + * @ordered + */ + int CLASS_DECLARATION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumDeclarationImpl Enum Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumDeclaration() + * @generated + */ + int ENUM_DECLARATION = 57; + + /** + * The feature id for the 'Literals' containment reference list. + * + * + * @generated + * @ordered + */ + int ENUM_DECLARATION__LITERALS = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int ENUM_DECLARATION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Enum Declaration' class. + * + * + * @generated + * @ordered + */ + int ENUM_DECLARATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Enum Declaration' class. + * + * + * @generated + * @ordered + */ + int ENUM_DECLARATION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumLiteralImpl Enum Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumLiteral() + * @generated + */ + int ENUM_LITERAL = 58; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int ENUM_LITERAL__NAME = 0; + + /** + * The number of structural features of the 'Enum Literal' class. + * + * + * @generated + * @ordered + */ + int ENUM_LITERAL_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Enum Literal' class. + * + * + * @generated + * @ordered + */ + int ENUM_LITERAL_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl Field}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getField() + * @generated + */ + int FIELD = 59; + + /** + * The feature id for the 'Containment' attribute. + * + * + * @generated + * @ordered + */ + int FIELD__CONTAINMENT = 0; + + /** + * The feature id for the 'Cross Reference' attribute. + * + * + * @generated + * @ordered + */ + int FIELD__CROSS_REFERENCE = 1; + + /** + * The feature id for the 'Opposite' reference. + * + * + * @generated + * @ordered + */ + int FIELD__OPPOSITE = 2; + + /** + * The feature id for the 'Multiplicity' containment reference. + * + * + * @generated + * @ordered + */ + int FIELD__MULTIPLICITY = 3; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int FIELD__TYPE = 4; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int FIELD__NAME = 5; + + /** + * The number of structural features of the 'Field' class. + * + * + * @generated + * @ordered + */ + int FIELD_FEATURE_COUNT = 6; + + /** + * The number of operations of the 'Field' class. + * + * + * @generated + * @ordered + */ + int FIELD_OPERATION_COUNT = 0; + + /** + * 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 = 60; + + /** + * The number of structural features of the 'Multiplicity' class. + * + * + * @generated + * @ordered + */ + int MULTIPLICITY_FEATURE_COUNT = 0; + + /** + * The number of operations of the 'Multiplicity' class. + * + * + * @generated + * @ordered + */ + int MULTIPLICITY_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultAssertionImpl Default Assertion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultAssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultAssertion() + * @generated + */ + int DEFAULT_ASSERTION = 61; + + /** + * The feature id for the 'Expression' containment reference. + * + * + * @generated + * @ordered + */ + int DEFAULT_ASSERTION__EXPRESSION = ABSTRACT_ASSERTION__EXPRESSION; + + /** + * The feature id for the 'Range' containment reference. + * + * + * @generated + * @ordered + */ + int DEFAULT_ASSERTION__RANGE = ABSTRACT_ASSERTION__RANGE; + + /** + * The number of structural features of the 'Default Assertion' class. + * + * + * @generated + * @ordered + */ + int DEFAULT_ASSERTION_FEATURE_COUNT = ABSTRACT_ASSERTION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Default Assertion' class. + * + * + * @generated + * @ordered + */ + int DEFAULT_ASSERTION_OPERATION_COUNT = ABSTRACT_ASSERTION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl Assertion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion() + * @generated + */ + int ASSERTION = 62; + + /** + * The feature id for the 'Expression' containment reference. + * + * + * @generated + * @ordered + */ + int ASSERTION__EXPRESSION = ABSTRACT_ASSERTION__EXPRESSION; + + /** + * The feature id for the 'Range' containment reference. + * + * + * @generated + * @ordered + */ + int ASSERTION__RANGE = ABSTRACT_ASSERTION__RANGE; + + /** + * The number of structural features of the 'Assertion' class. + * + * + * @generated + * @ordered + */ + int ASSERTION_FEATURE_COUNT = ABSTRACT_ASSERTION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Assertion' class. + * + * + * @generated + * @ordered + */ + int ASSERTION_OPERATION_COUNT = ABSTRACT_ASSERTION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnboundedMultiplicityImpl Unbounded Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnboundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnboundedMultiplicity() + * @generated + */ + int UNBOUNDED_MULTIPLICITY = 63; + + /** + * The number of structural features of the 'Unbounded Multiplicity' class. + * + * + * @generated + * @ordered + */ + int UNBOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Unbounded Multiplicity' class. + * + * + * @generated + * @ordered + */ + int UNBOUNDED_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_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 = 64; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int EXACT_MULTIPLICITY__VALUE = 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 number of operations of the 'Exact Multiplicity' class. + * + * + * @generated + * @ordered + */ + int EXACT_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0; + + /** + * 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 = 65; + + /** + * 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 number of operations of the 'Bounded Multiplicity' class. + * + * + * @generated + * @ordered + */ + int BOUNDED_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes Inline Predicate Attrributes}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInlinePredicateAttrributes() + * @generated + */ + int INLINE_PREDICATE_ATTRRIBUTES = 66; + + /** + * The feature id for the 'Error' attribute. + * + * + * @generated + * @ordered + */ + int INLINE_PREDICATE_ATTRRIBUTES__ERROR = 0; + + /** + * The feature id for the 'Functional' attribute. + * + * + * @generated + * @ordered + */ + int INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL = 1; + + /** + * The number of structural features of the 'Inline Predicate Attrributes' class. + * + * + * @generated + * @ordered + */ + int INLINE_PREDICATE_ATTRRIBUTES_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Inline Predicate Attrributes' class. + * + * + * @generated + * @ordered + */ + int INLINE_PREDICATE_ATTRRIBUTES_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationOperatorImpl Aggregation Operator}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationOperatorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOperator() + * @generated + */ + int AGGREGATION_OPERATOR = 67; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int AGGREGATION_OPERATOR__NAME = SYMBOL__NAME; + + /** + * The feature id for the 'Argument Type' reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION_OPERATOR__ARGUMENT_TYPE = SYMBOL_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Result Type' reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION_OPERATOR__RESULT_TYPE = SYMBOL_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Aggregation Operator' class. + * + * + * @generated + * @ordered + */ + int AGGREGATION_OPERATOR_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Aggregation Operator' class. + * + * + * @generated + * @ordered + */ + int AGGREGATION_OPERATOR_OPERATION_COUNT = SYMBOL_OPERATION_COUNT + 0; + + /** + * 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 = 68; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PROBLEM__NAME = 0; + + /** + * The feature id for the 'Statements' containment reference list. + * + * + * @generated + * @ordered + */ + int PROBLEM__STATEMENTS = 1; + + /** + * The feature id for the 'Symbols' containment reference list. + * + * + * @generated + * @ordered + */ + int PROBLEM__SYMBOLS = 2; + + /** + * The feature id for the 'Imports' containment reference list. + * + * + * @generated + * @ordered + */ + int PROBLEM__IMPORTS = 3; + + /** + * The number of structural features of the 'Problem' class. + * + * + * @generated + * @ordered + */ + int PROBLEM_FEATURE_COUNT = 4; + + /** + * The number of operations of the 'Problem' class. + * + * + * @generated + * @ordered + */ + int PROBLEM_OPERATION_COUNT = 0; + + /** + * 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 = 69; + + /** + * The feature id for the 'Type Reference' containment reference. + * + * + * @generated + * @ordered + */ + int TYPED_STAR_ARGUMENT__TYPE_REFERENCE = TYPED_ARGUMENT__TYPE_REFERENCE; + + /** + * The number of structural features of the 'Typed Star Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_STAR_ARGUMENT_FEATURE_COUNT = TYPED_ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Typed Star Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_STAR_ARGUMENT_OPERATION_COUNT = TYPED_ARGUMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedVariableArgumentImpl Typed Variable Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedVariableArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedVariableArgument() + * @generated + */ + int TYPED_VARIABLE_ARGUMENT = 70; + + /** + * The feature id for the 'Type Reference' containment reference. + * + * + * @generated + * @ordered + */ + int TYPED_VARIABLE_ARGUMENT__TYPE_REFERENCE = TYPED_ARGUMENT__TYPE_REFERENCE; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int TYPED_VARIABLE_ARGUMENT__NAME = TYPED_ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Typed Variable Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_VARIABLE_ARGUMENT_FEATURE_COUNT = TYPED_ARGUMENT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Typed Variable Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_VARIABLE_ARGUMENT_OPERATION_COUNT = TYPED_ARGUMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl Unnamed Error Predicate Defintion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPredicateDefintion() + * @generated + */ + int UNNAMED_ERROR_PREDICATE_DEFINTION = 71; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDICATE_DEFINTION__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Unnamed Error Predicate Defintion' class. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDICATE_DEFINTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Unnamed Error Predicate Defintion' class. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDICATE_DEFINTION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDeclarationImpl Objective Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDeclaration() + * @generated + */ + int OBJECTIVE_DECLARATION = 72; + + /** + * The feature id for the 'Kind' attribute. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DECLARATION__KIND = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Objective' containment reference. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DECLARATION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Objective Declaration' class. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DECLARATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Objective Declaration' class. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DECLARATION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDeclarationImpl Scope Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDeclaration() + * @generated + */ + int SCOPE_DECLARATION = 73; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int SCOPE_DECLARATION__TYPE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Scope Declaration' class. + * + * + * @generated + * @ordered + */ + int SCOPE_DECLARATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Scope Declaration' class. + * + * + * @generated + * @ordered + */ + int SCOPE_DECLARATION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeImpl Exact Scope}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScope() + * @generated + */ + int EXACT_SCOPE = 74; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE__TYPE = SCOPE_DECLARATION__TYPE; + + /** + * The feature id for the 'Size' attribute. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE__SIZE = SCOPE_DECLARATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Exact Scope' class. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_FEATURE_COUNT = SCOPE_DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Exact Scope' class. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_OPERATION_COUNT = SCOPE_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeImpl Bounded Scope}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScope() + * @generated + */ + int BOUNDED_SCOPE = 75; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE__TYPE = SCOPE_DECLARATION__TYPE; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE__LOWER_BOUND = SCOPE_DECLARATION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Upper Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE__UPPER_BOUND = SCOPE_DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Bounded Scope' class. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_FEATURE_COUNT = SCOPE_DECLARATION_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Bounded Scope' class. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_OPERATION_COUNT = SCOPE_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeImpl Lower Bounded Scope}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScope() + * @generated + */ + int LOWER_BOUNDED_SCOPE = 76; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE__TYPE = SCOPE_DECLARATION__TYPE; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE__LOWER_BOUND = SCOPE_DECLARATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Lower Bounded Scope' class. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_FEATURE_COUNT = SCOPE_DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Lower Bounded Scope' class. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_OPERATION_COUNT = SCOPE_DECLARATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ImportImpl Import}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ImportImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getImport() + * @generated + */ + int IMPORT = 78; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int IMPORT__ALIAS = 0; + + /** + * The number of structural features of the 'Import' class. + * + * + * @generated + * @ordered + */ + int IMPORT_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Import' class. + * + * + * @generated + * @ordered + */ + int IMPORT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamespaceImportImpl Namespace Import}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamespaceImportImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamespaceImport() + * @generated + */ + int NAMESPACE_IMPORT = 77; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int NAMESPACE_IMPORT__ALIAS = IMPORT__ALIAS; + + /** + * The feature id for the 'Imported Namespace' attribute. + * + * + * @generated + * @ordered + */ + int NAMESPACE_IMPORT__IMPORTED_NAMESPACE = IMPORT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Namespace Import' class. + * + * + * @generated + * @ordered + */ + int NAMESPACE_IMPORT_FEATURE_COUNT = IMPORT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Namespace Import' class. + * + * + * @generated + * @ordered + */ + int NAMESPACE_IMPORT_OPERATION_COUNT = IMPORT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UriImportImpl Uri Import}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UriImportImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUriImport() + * @generated + */ + int URI_IMPORT = 79; + + /** + * The feature id for the 'Alias' attribute. + * + * + * @generated + * @ordered + */ + int URI_IMPORT__ALIAS = IMPORT__ALIAS; + + /** + * The feature id for the 'Uri' attribute. + * + * + * @generated + * @ordered + */ + int URI_IMPORT__URI = IMPORT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Uri Import' class. + * + * + * @generated + * @ordered + */ + int URI_IMPORT_FEATURE_COUNT = IMPORT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Uri Import' class. + * + * + * @generated + * @ordered + */ + int URI_IMPORT_OPERATION_COUNT = IMPORT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator Unary Operator}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOperator() + * @generated + */ + int UNARY_OPERATOR = 80; + + /** + * 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 = 81; + + /** + * 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 = 82; + + /** + * 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 = 83; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AttributeKind Attribute Kind}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.AttributeKind + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAttributeKind() + * @generated + */ + int ATTRIBUTE_KIND = 84; + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent Path Component}'. + * + * + * @return the meta object for class 'Path Component'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PathComponent + * @generated + */ + EClass getPathComponent(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#getSymbol Symbol}'. + * + * + * @return the meta object for the reference 'Symbol'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PathComponent#getSymbol() + * @see #getPathComponent() + * @generated + */ + EReference getPathComponent_Symbol(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isInverse Inverse}'. + * + * + * @return the meta object for the attribute 'Inverse'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isInverse() + * @see #getPathComponent() + * @generated + */ + EAttribute getPathComponent_Inverse(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isTransitiveClosure Transitive Closure}'. + * + * + * @return the meta object for the attribute 'Transitive Closure'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isTransitiveClosure() + * @see #getPathComponent() + * @generated + */ + EAttribute getPathComponent_TransitiveClosure(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isReflexiveTransitiveClosure Reflexive Transitive Closure}'. + * + * + * @return the meta object for the attribute 'Reflexive Transitive Closure'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isReflexiveTransitiveClosure() + * @see #getPathComponent() + * @generated + */ + EAttribute getPathComponent_ReflexiveTransitiveClosure(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol Symbol}'. + * + * + * @return the meta object for class 'Symbol'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol + * @generated + */ + EClass getSymbol(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol#getName() + * @see #getSymbol() + * @generated + */ + EAttribute getSymbol_Name(); + + /** + * 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 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.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 containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getComponents Components}'. + * + * + * @return the meta object for the containment reference list 'Components'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getComponents() + * @see #getReference() + * @generated + */ + EReference getReference_Components(); + + /** + * 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 the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression#getExistsVariables Exists Variables}'. + * + * + * @return the meta object for the containment reference list 'Exists Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Expression#getExistsVariables() + * @see #getExpression() + * @generated + */ + EReference getExpression_ExistsVariables(); + + /** + * 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.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.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#getExpression Expression}'. + * + * + * @return the meta object for the containment reference 'Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getExpression() + * @see #getExpressionArgument() + * @generated + */ + EReference getExpressionArgument_Expression(); + + /** + * 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 containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getTypeReference Type Reference}'. + * + * + * @return the meta object for the containment reference 'Type Reference'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getTypeReference() + * @see #getTypedArgument() + * @generated + */ + EReference getTypedArgument_TypeReference(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession Multiary Expession}'. + * + * + * @return the meta object for class 'Multiary Expession'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession + * @generated + */ + EClass getMultiaryExpession(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession#getChildren Children}'. + * + * + * @return the meta object for the containment reference list 'Children'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession#getChildren() + * @see #getMultiaryExpession() + * @generated + */ + EReference getMultiaryExpession_Children(); + + /** + * 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 containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getTypeReference Type Reference}'. + * + * + * @return the meta object for the containment reference 'Type Reference'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getTypeReference() + * @see #getVariable() + * @generated + */ + EReference getVariable_TypeReference(); + + /** + * 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 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 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 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 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#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 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.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 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression Conditional Expression}'. + * + * + * @return the meta object for class 'Conditional Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression + * @generated + */ + EClass getConditionalExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getCondition() + * @see #getConditionalExpression() + * @generated + */ + EReference getConditionalExpression_Condition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getThen Then}'. + * + * + * @return the meta object for the containment reference 'Then'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getThen() + * @see #getConditionalExpression() + * @generated + */ + EReference getConditionalExpression_Then(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getElse Else}'. + * + * + * @return the meta object for the containment reference 'Else'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression#getElse() + * @see #getConditionalExpression() + * @generated + */ + EReference getConditionalExpression_Else(); + + /** + * 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.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#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 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.LetExpression Let Expression}'. + * + * + * @return the meta object for class 'Let Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetExpression + * @generated + */ + EClass getLetExpression(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.LetExpression#getBindings Bindings}'. + * + * + * @return the meta object for the containment reference list 'Bindings'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetExpression#getBindings() + * @see #getLetExpression() + * @generated + */ + EReference getLetExpression_Bindings(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetExpression#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetExpression#getBody() + * @see #getLetExpression() + * @generated + */ + EReference getLetExpression_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#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 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 attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getName() + * @see #getLetBinding() + * @generated + */ + EAttribute getLetBinding_Name(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getType() + * @see #getLetBinding() + * @generated + */ + EReference getLetBinding_Type(); + + /** + * 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.IntLiteral Int Literal}'. + * + * + * @return the meta object for class 'Int Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IntLiteral + * @generated + */ + EClass getIntLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.IntLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IntLiteral#getValue() + * @see #getIntLiteral() + * @generated + */ + EAttribute getIntLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealLiteral Real Literal}'. + * + * + * @return the meta object for class 'Real Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.RealLiteral + * @generated + */ + EClass getRealLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.RealLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.RealLiteral#getValue() + * @see #getRealLiteral() + * @generated + */ + EAttribute getRealLiteral_Value(); + + /** + * 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.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.EmptyLiteral Empty Literal}'. + * + * + * @return the meta object for class 'Empty Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyLiteral + * @generated + */ + EClass getEmptyLiteral(); + + /** + * 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#getTargetType Target Type}'. + * + * + * @return the meta object for the reference 'Target Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getTargetType() + * @see #getCastExpression() + * @generated + */ + EReference getCastExpression_TargetType(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression Aggregate Expression}'. + * + * + * @return the meta object for class 'Aggregate Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression + * @generated + */ + EClass getAggregateExpression(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression#getForallVariables Forall Variables}'. + * + * + * @return the meta object for the containment reference list 'Forall Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression#getForallVariables() + * @see #getAggregateExpression() + * @generated + */ + EReference getAggregateExpression_ForallVariables(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression#getCondition() + * @see #getAggregateExpression() + * @generated + */ + EReference getAggregateExpression_Condition(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count Count}'. + * + * + * @return the meta object for class 'Count'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Count + * @generated + */ + EClass getCount(); + + /** + * 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 containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getValue() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_Value(); + + /** + * 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.Forall Forall}'. + * + * + * @return the meta object for class 'Forall'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Forall + * @generated + */ + EClass getForall(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Forall#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Forall#getBody() + * @see #getForall() + * @generated + */ + EReference getForall_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference Type Reference}'. + * + * + * @return the meta object for class 'Type Reference'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypeReference + * @generated + */ + EClass getTypeReference(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference#isForceObjectType Force Object Type}'. + * + * + * @return the meta object for the attribute 'Force Object Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypeReference#isForceObjectType() + * @see #getTypeReference() + * @generated + */ + EAttribute getTypeReference_ForceObjectType(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypeReference#getType() + * @see #getTypeReference() + * @generated + */ + EReference getTypeReference_Type(); + + /** + * 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.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.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 containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters Parameters}'. + * + * + * @return the meta object for the containment 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.Relation Relation}'. + * + * + * @return the meta object for class 'Relation'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Relation + * @generated + */ + EClass getRelation(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BaseRelation Base Relation}'. + * + * + * @return the meta object for class 'Base Relation'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BaseRelation + * @generated + */ + EClass getBaseRelation(); + + /** + * 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.Datatype Datatype}'. + * + * + * @return the meta object for class 'Datatype'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Datatype + * @generated + */ + EClass getDatatype(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Function Function}'. + * + * + * @return the meta object for class 'Function'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Function + * @generated + */ + EClass getFunction(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Function#getResultType Result Type}'. + * + * + * @return the meta object for the reference 'Result Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Function#getResultType() + * @see #getFunction() + * @generated + */ + EReference getFunction_ResultType(); + + /** + * 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.Operator Operator}'. + * + * + * @return the meta object for class 'Operator'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Operator + * @generated + */ + EClass getOperator(); + + /** + * 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#isNamed Named}'. + * + * + * @return the meta object for the attribute 'Named'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Node#isNamed() + * @see #getNode() + * @generated + */ + EAttribute getNode_Named(); + + /** + * 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.AbstractAssertion Abstract Assertion}'. + * + * + * @return the meta object for class 'Abstract Assertion'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion + * @generated + */ + EClass getAbstractAssertion(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getExpression Expression}'. + * + * + * @return the meta object for the containment reference 'Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getExpression() + * @see #getAbstractAssertion() + * @generated + */ + EReference getAbstractAssertion_Expression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getRange Range}'. + * + * + * @return the meta object for the containment reference 'Range'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AbstractAssertion#getRange() + * @see #getAbstractAssertion() + * @generated + */ + EReference getAbstractAssertion_Range(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton Functor Definiton}'. + * + * + * @return the meta object for class 'Functor Definiton'. + * @see org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton + * @generated + */ + EClass getFunctorDefiniton(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#getHead() + * @see #getFunctorDefiniton() + * @generated + */ + EReference getFunctorDefiniton_Head(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton#getBody() + * @see #getFunctorDefiniton() + * @generated + */ + EReference getFunctorDefiniton_Body(); + + /** + * 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition Function Definition}'. + * + * + * @return the meta object for class 'Function Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition + * @generated + */ + EClass getFunctionDefinition(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition#getResultType Result Type}'. + * + * + * @return the meta object for the reference 'Result Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition#getResultType() + * @see #getFunctionDefinition() + * @generated + */ + EReference getFunctionDefinition_ResultType(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Attribute Attribute}'. + * + * + * @return the meta object for class 'Attribute'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Attribute + * @generated + */ + EClass getAttribute(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Attribute#getTarget Target}'. + * + * + * @return the meta object for the reference 'Target'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Attribute#getTarget() + * @see #getAttribute() + * @generated + */ + EReference getAttribute_Target(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Attribute#getKind Kind}'. + * + * + * @return the meta object for the attribute 'Kind'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Attribute#getKind() + * @see #getAttribute() + * @generated + */ + EAttribute getAttribute_Kind(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration Extern Declaration}'. + * + * + * @return the meta object for class 'Extern Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration + * @generated + */ + EClass getExternDeclaration(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration#getName() + * @see #getExternDeclaration() + * @generated + */ + EAttribute getExternDeclaration_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration Extern Functor Declaration}'. + * + * + * @return the meta object for class 'Extern Functor Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration + * @generated + */ + EClass getExternFunctorDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration#getArgumentList() + * @see #getExternFunctorDeclaration() + * @generated + */ + EReference getExternFunctorDeclaration_ArgumentList(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDeclaration Extern Predicate Declaration}'. + * + * + * @return the meta object for class 'Extern Predicate Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDeclaration + * @generated + */ + EClass getExternPredicateDeclaration(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration Extern Function Declaration}'. + * + * + * @return the meta object for class 'Extern Function Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration + * @generated + */ + EClass getExternFunctionDeclaration(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration#getResultType Result Type}'. + * + * + * @return the meta object for the reference 'Result Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration#getResultType() + * @see #getExternFunctionDeclaration() + * @generated + */ + EReference getExternFunctionDeclaration_ResultType(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration Extern Aggregation Operator Declaration}'. + * + * + * @return the meta object for class 'Extern Aggregation Operator Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration + * @generated + */ + EClass getExternAggregationOperatorDeclaration(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getArgumentType Argument Type}'. + * + * + * @return the meta object for the reference 'Argument Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getArgumentType() + * @see #getExternAggregationOperatorDeclaration() + * @generated + */ + EReference getExternAggregationOperatorDeclaration_ArgumentType(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getResultType Result Type}'. + * + * + * @return the meta object for the reference 'Result Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration#getResultType() + * @see #getExternAggregationOperatorDeclaration() + * @generated + */ + EReference getExternAggregationOperatorDeclaration_ResultType(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration Extern Datatype Declaration}'. + * + * + * @return the meta object for class 'Extern Datatype Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration + * @generated + */ + EClass getExternDatatypeDeclaration(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration Class Declaration}'. + * + * + * @return the meta object for class 'Class Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration + * @generated + */ + EClass getClassDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getFields Fields}'. + * + * + * @return the meta object for the containment reference list 'Fields'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getFields() + * @see #getClassDeclaration() + * @generated + */ + EReference getClassDeclaration_Fields(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getName() + * @see #getClassDeclaration() + * @generated + */ + EAttribute getClassDeclaration_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isAbstract Abstract}'. + * + * + * @return the meta object for the attribute 'Abstract'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isAbstract() + * @see #getClassDeclaration() + * @generated + */ + EAttribute getClassDeclaration_Abstract(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getSupertypes Supertypes}'. + * + * + * @return the meta object for the reference list 'Supertypes'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#getSupertypes() + * @see #getClassDeclaration() + * @generated + */ + EReference getClassDeclaration_Supertypes(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isRoot Root}'. + * + * + * @return the meta object for the attribute 'Root'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration#isRoot() + * @see #getClassDeclaration() + * @generated + */ + EAttribute getClassDeclaration_Root(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration Enum Declaration}'. + * + * + * @return the meta object for class 'Enum Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration + * @generated + */ + EClass getEnumDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration#getLiterals Literals}'. + * + * + * @return the meta object for the containment reference list 'Literals'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration#getLiterals() + * @see #getEnumDeclaration() + * @generated + */ + EReference getEnumDeclaration_Literals(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration#getName() + * @see #getEnumDeclaration() + * @generated + */ + EAttribute getEnumDeclaration_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral Enum Literal}'. + * + * + * @return the meta object for class 'Enum Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral + * @generated + */ + EClass getEnumLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral#getName() + * @see #getEnumLiteral() + * @generated + */ + EAttribute getEnumLiteral_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Field Field}'. + * + * + * @return the meta object for class 'Field'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Field + * @generated + */ + EClass getField(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#isContainment Containment}'. + * + * + * @return the meta object for the attribute 'Containment'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Field#isContainment() + * @see #getField() + * @generated + */ + EAttribute getField_Containment(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#isCrossReference Cross Reference}'. + * + * + * @return the meta object for the attribute 'Cross Reference'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Field#isCrossReference() + * @see #getField() + * @generated + */ + EAttribute getField_CrossReference(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#getOpposite Opposite}'. + * + * + * @return the meta object for the reference 'Opposite'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Field#getOpposite() + * @see #getField() + * @generated + */ + EReference getField_Opposite(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#getMultiplicity Multiplicity}'. + * + * + * @return the meta object for the containment reference 'Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Field#getMultiplicity() + * @see #getField() + * @generated + */ + EReference getField_Multiplicity(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Field#getType() + * @see #getField() + * @generated + */ + EReference getField_Type(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Field#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Field#getName() + * @see #getField() + * @generated + */ + EAttribute getField_Name(); + + /** + * 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.DefaultAssertion Default Assertion}'. + * + * + * @return the meta object for class 'Default Assertion'. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultAssertion + * @generated + */ + EClass getDefaultAssertion(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion Assertion}'. + * + * + * @return the meta object for class 'Assertion'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion + * @generated + */ + EClass getAssertion(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnboundedMultiplicity Unbounded Multiplicity}'. + * + * + * @return the meta object for class 'Unbounded Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnboundedMultiplicity + * @generated + */ + EClass getUnboundedMultiplicity(); + + /** + * 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#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getValue() + * @see #getExactMultiplicity() + * @generated + */ + EAttribute getExactMultiplicity_Value(); + + /** + * 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.InlinePredicateAttrributes Inline Predicate Attrributes}'. + * + * + * @return the meta object for class 'Inline Predicate Attrributes'. + * @see org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes + * @generated + */ + EClass getInlinePredicateAttrributes(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isError Error}'. + * + * + * @return the meta object for the attribute 'Error'. + * @see org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isError() + * @see #getInlinePredicateAttrributes() + * @generated + */ + EAttribute getInlinePredicateAttrributes_Error(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isFunctional Functional}'. + * + * + * @return the meta object for the attribute 'Functional'. + * @see org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes#isFunctional() + * @see #getInlinePredicateAttrributes() + * @generated + */ + EAttribute getInlinePredicateAttrributes_Functional(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator Aggregation Operator}'. + * + * + * @return the meta object for class 'Aggregation Operator'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator + * @generated + */ + EClass getAggregationOperator(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getArgumentType Argument Type}'. + * + * + * @return the meta object for the reference 'Argument Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getArgumentType() + * @see #getAggregationOperator() + * @generated + */ + EReference getAggregationOperator_ArgumentType(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getResultType Result Type}'. + * + * + * @return the meta object for the reference 'Result Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator#getResultType() + * @see #getAggregationOperator() + * @generated + */ + EReference getAggregationOperator_ResultType(); + + /** + * 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 attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getName() + * @see #getProblem() + * @generated + */ + EAttribute getProblem_Name(); + + /** + * 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 the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getSymbols Symbols}'. + * + * + * @return the meta object for the containment reference list 'Symbols'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getSymbols() + * @see #getProblem() + * @generated + */ + EReference getProblem_Symbols(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getImports Imports}'. + * + * + * @return the meta object for the containment reference list 'Imports'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getImports() + * @see #getProblem() + * @generated + */ + EReference getProblem_Imports(); + + /** + * 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument Typed Variable Argument}'. + * + * + * @return the meta object for class 'Typed Variable Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument + * @generated + */ + EClass getTypedVariableArgument(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument#getName() + * @see #getTypedVariableArgument() + * @generated + */ + EAttribute getTypedVariableArgument_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion Unnamed Error Predicate Defintion}'. + * + * + * @return the meta object for class 'Unnamed Error Predicate Defintion'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion + * @generated + */ + EClass getUnnamedErrorPredicateDefintion(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#getArgumentList() + * @see #getUnnamedErrorPredicateDefintion() + * @generated + */ + EReference getUnnamedErrorPredicateDefintion_ArgumentList(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#getBody() + * @see #getUnnamedErrorPredicateDefintion() + * @generated + */ + EReference getUnnamedErrorPredicateDefintion_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration Objective Declaration}'. + * + * + * @return the meta object for class 'Objective Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration + * @generated + */ + EClass getObjectiveDeclaration(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#getKind Kind}'. + * + * + * @return the meta object for the attribute 'Kind'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#getKind() + * @see #getObjectiveDeclaration() + * @generated + */ + EAttribute getObjectiveDeclaration_Kind(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#getObjective Objective}'. + * + * + * @return the meta object for the containment reference 'Objective'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration#getObjective() + * @see #getObjectiveDeclaration() + * @generated + */ + EReference getObjectiveDeclaration_Objective(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration Scope Declaration}'. + * + * + * @return the meta object for class 'Scope Declaration'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration + * @generated + */ + EClass getScopeDeclaration(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration#getType() + * @see #getScopeDeclaration() + * @generated + */ + EReference getScopeDeclaration_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScope Exact Scope}'. + * + * + * @return the meta object for class 'Exact Scope'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScope + * @generated + */ + EClass getExactScope(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScope#getSize Size}'. + * + * + * @return the meta object for the attribute 'Size'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScope#getSize() + * @see #getExactScope() + * @generated + */ + EAttribute getExactScope_Size(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope Bounded Scope}'. + * + * + * @return the meta object for class 'Bounded Scope'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScope + * @generated + */ + EClass getBoundedScope(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#getLowerBound() + * @see #getBoundedScope() + * @generated + */ + EAttribute getBoundedScope_LowerBound(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#getUpperBound Upper Bound}'. + * + * + * @return the meta object for the attribute 'Upper Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScope#getUpperBound() + * @see #getBoundedScope() + * @generated + */ + EAttribute getBoundedScope_UpperBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope Lower Bounded Scope}'. + * + * + * @return the meta object for class 'Lower Bounded Scope'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope + * @generated + */ + EClass getLowerBoundedScope(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope#getLowerBound() + * @see #getLowerBoundedScope() + * @generated + */ + EAttribute getLowerBoundedScope_LowerBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport Namespace Import}'. + * + * + * @return the meta object for class 'Namespace Import'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport + * @generated + */ + EClass getNamespaceImport(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport#getImportedNamespace Imported Namespace}'. + * + * + * @return the meta object for the attribute 'Imported Namespace'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport#getImportedNamespace() + * @see #getNamespaceImport() + * @generated + */ + EAttribute getNamespaceImport_ImportedNamespace(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Import Import}'. + * + * + * @return the meta object for class 'Import'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Import + * @generated + */ + EClass getImport(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Import#getAlias Alias}'. + * + * + * @return the meta object for the attribute 'Alias'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Import#getAlias() + * @see #getImport() + * @generated + */ + EAttribute getImport_Alias(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UriImport Uri Import}'. + * + * + * @return the meta object for class 'Uri Import'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UriImport + * @generated + */ + EClass getUriImport(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UriImport#getUri Uri}'. + * + * + * @return the meta object for the attribute 'Uri'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UriImport#getUri() + * @see #getUriImport() + * @generated + */ + EAttribute getUriImport_Uri(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator Unary Operator}'. + * + * + * @return the meta object for enum 'Unary Operator'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator + * @generated + */ + EEnum getUnaryOperator(); + + /** + * 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.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.AttributeKind Attribute Kind}'. + * + * + * @return the meta object for enum 'Attribute Kind'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AttributeKind + * @generated + */ + EEnum getAttributeKind(); + + /** + * 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 operation 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.PathComponentImpl Path Component}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPathComponent() + * @generated + */ + EClass PATH_COMPONENT = eINSTANCE.getPathComponent(); + + /** + * The meta object literal for the 'Symbol' reference feature. + * + * + * @generated + */ + EReference PATH_COMPONENT__SYMBOL = eINSTANCE.getPathComponent_Symbol(); + + /** + * The meta object literal for the 'Inverse' attribute feature. + * + * + * @generated + */ + EAttribute PATH_COMPONENT__INVERSE = eINSTANCE.getPathComponent_Inverse(); + + /** + * The meta object literal for the 'Transitive Closure' attribute feature. + * + * + * @generated + */ + EAttribute PATH_COMPONENT__TRANSITIVE_CLOSURE = eINSTANCE.getPathComponent_TransitiveClosure(); + + /** + * The meta object literal for the 'Reflexive Transitive Closure' attribute feature. + * + * + * @generated + */ + EAttribute PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE + .getPathComponent_ReflexiveTransitiveClosure(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl Symbol}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol() + * @generated + */ + EClass SYMBOL = eINSTANCE.getSymbol(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute SYMBOL__NAME = eINSTANCE.getSymbol_Name(); + + /** + * 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 '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.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 'Components' containment reference list feature. + * + * + * @generated + */ + EReference REFERENCE__COMPONENTS = eINSTANCE.getReference_Components(); + + /** + * 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 'Exists Variables' containment reference list feature. + * + * + * @generated + */ + EReference EXPRESSION__EXISTS_VARIABLES = eINSTANCE.getExpression_ExistsVariables(); + + /** + * 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.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.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 'Expression' containment reference feature. + * + * + * @generated + */ + EReference EXPRESSION_ARGUMENT__EXPRESSION = eINSTANCE.getExpressionArgument_Expression(); + + /** + * 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' containment reference feature. + * + * + * @generated + */ + EReference TYPED_ARGUMENT__TYPE_REFERENCE = eINSTANCE.getTypedArgument_TypeReference(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiaryExpessionImpl Multiary Expession}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiaryExpessionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiaryExpession() + * @generated + */ + EClass MULTIARY_EXPESSION = eINSTANCE.getMultiaryExpession(); + + /** + * The meta object literal for the 'Children' containment reference list feature. + * + * + * @generated + */ + EReference MULTIARY_EXPESSION__CHILDREN = eINSTANCE.getMultiaryExpession_Children(); + + /** + * 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' containment reference feature. + * + * + * @generated + */ + EReference VARIABLE__TYPE_REFERENCE = eINSTANCE.getVariable_TypeReference(); + + /** + * 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 'Body' containment reference feature. + * + * + * @generated + */ + EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op(); + + /** + * 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 'Op' attribute feature. + * + * + * @generated + */ + EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op(); + + /** + * The meta object literal for the 'Left' containment reference feature. + * + * + * @generated + */ + EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left(); + + /** + * 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.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 '{@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 '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl Conditional Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConditionalExpression() + * @generated + */ + EClass CONDITIONAL_EXPRESSION = eINSTANCE.getConditionalExpression(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference CONDITIONAL_EXPRESSION__CONDITION = eINSTANCE.getConditionalExpression_Condition(); + + /** + * The meta object literal for the 'Then' containment reference feature. + * + * + * @generated + */ + EReference CONDITIONAL_EXPRESSION__THEN = eINSTANCE.getConditionalExpression_Then(); + + /** + * The meta object literal for the 'Else' containment reference feature. + * + * + * @generated + */ + EReference CONDITIONAL_EXPRESSION__ELSE = eINSTANCE.getConditionalExpression_Else(); + + /** + * 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.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 'Condition' containment reference feature. + * + * + * @generated + */ + EReference CASE__CONDITION = eINSTANCE.getCase_Condition(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference CASE__BODY = eINSTANCE.getCase_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetExpressionImpl Let Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetExpression() + * @generated + */ + EClass LET_EXPRESSION = eINSTANCE.getLetExpression(); + + /** + * The meta object literal for the 'Bindings' containment reference list feature. + * + * + * @generated + */ + EReference LET_EXPRESSION__BINDINGS = eINSTANCE.getLetExpression_Bindings(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference LET_EXPRESSION__BODY = eINSTANCE.getLetExpression_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 'Value' containment reference feature. + * + * + * @generated + */ + EReference LET_BINDING__VALUE = eINSTANCE.getLetBinding_Value(); + + /** + * The meta object literal for the 'Variable' containment reference feature. + * + * + * @generated + */ + EReference LET_BINDING__VARIABLE = eINSTANCE.getLetBinding_Variable(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute LET_BINDING__NAME = eINSTANCE.getLetBinding_Name(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference LET_BINDING__TYPE = eINSTANCE.getLetBinding_Type(); + + /** + * 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.IntLiteralImpl Int Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntLiteral() + * @generated + */ + EClass INT_LITERAL = eINSTANCE.getIntLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute INT_LITERAL__VALUE = eINSTANCE.getIntLiteral_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealLiteralImpl Real Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealLiteral() + * @generated + */ + EClass REAL_LITERAL = eINSTANCE.getRealLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute REAL_LITERAL__VALUE = eINSTANCE.getRealLiteral_Value(); + + /** + * 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.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.EmptyLiteralImpl Empty Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyLiteral() + * @generated + */ + EClass EMPTY_LITERAL = eINSTANCE.getEmptyLiteral(); + + /** + * 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 'Target Type' reference feature. + * + * + * @generated + */ + EReference CAST_EXPRESSION__TARGET_TYPE = eINSTANCE.getCastExpression_TargetType(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregateExpressionImpl Aggregate Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregateExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregateExpression() + * @generated + */ + EClass AGGREGATE_EXPRESSION = eINSTANCE.getAggregateExpression(); + + /** + * The meta object literal for the 'Forall Variables' containment reference list feature. + * + * + * @generated + */ + EReference AGGREGATE_EXPRESSION__FORALL_VARIABLES = eINSTANCE.getAggregateExpression_ForallVariables(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATE_EXPRESSION__CONDITION = eINSTANCE.getAggregateExpression_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl Count}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount() + * @generated + */ + EClass COUNT = eINSTANCE.getCount(); + + /** + * 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 'Value' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATION__VALUE = eINSTANCE.getAggregation_Value(); + + /** + * The meta object literal for the 'Op' reference feature. + * + * + * @generated + */ + EReference AGGREGATION__OP = eINSTANCE.getAggregation_Op(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ForallImpl Forall}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ForallImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getForall() + * @generated + */ + EClass FORALL = eINSTANCE.getForall(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference FORALL__BODY = eINSTANCE.getForall_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl Type Reference}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypeReference() + * @generated + */ + EClass TYPE_REFERENCE = eINSTANCE.getTypeReference(); + + /** + * The meta object literal for the 'Force Object Type' attribute feature. + * + * + * @generated + */ + EAttribute TYPE_REFERENCE__FORCE_OBJECT_TYPE = eINSTANCE.getTypeReference_ForceObjectType(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference TYPE_REFERENCE__TYPE = eINSTANCE.getTypeReference_Type(); + + /** + * 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.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.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' containment reference list feature. + * + * + * @generated + */ + EReference FUNCTOR__PARAMETERS = eINSTANCE.getFunctor_Parameters(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RelationImpl Relation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RelationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRelation() + * @generated + */ + EClass RELATION = eINSTANCE.getRelation(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BaseRelationImpl Base Relation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BaseRelationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBaseRelation() + * @generated + */ + EClass BASE_RELATION = eINSTANCE.getBaseRelation(); + + /** + * 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.DatatypeImpl Datatype}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DatatypeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDatatype() + * @generated + */ + EClass DATATYPE = eINSTANCE.getDatatype(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionImpl Function}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunction() + * @generated + */ + EClass FUNCTION = eINSTANCE.getFunction(); + + /** + * The meta object literal for the 'Result Type' reference feature. + * + * + * @generated + */ + EReference FUNCTION__RESULT_TYPE = eINSTANCE.getFunction_ResultType(); + + /** + * 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 '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.OperatorImpl Operator}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.OperatorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getOperator() + * @generated + */ + EClass OPERATOR = eINSTANCE.getOperator(); + + /** + * 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 'Named' attribute feature. + * + * + * @generated + */ + EAttribute NODE__NAMED = eINSTANCE.getNode_Named(); + + /** + * 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.AbstractAssertionImpl Abstract Assertion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AbstractAssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAbstractAssertion() + * @generated + */ + EClass ABSTRACT_ASSERTION = eINSTANCE.getAbstractAssertion(); + + /** + * The meta object literal for the 'Expression' containment reference feature. + * + * + * @generated + */ + EReference ABSTRACT_ASSERTION__EXPRESSION = eINSTANCE.getAbstractAssertion_Expression(); + + /** + * The meta object literal for the 'Range' containment reference feature. + * + * + * @generated + */ + EReference ABSTRACT_ASSERTION__RANGE = eINSTANCE.getAbstractAssertion_Range(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl Functor Definiton}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctorDefiniton() + * @generated + */ + EClass FUNCTOR_DEFINITON = eINSTANCE.getFunctorDefiniton(); + + /** + * The meta object literal for the 'Head' containment reference feature. + * + * + * @generated + */ + EReference FUNCTOR_DEFINITON__HEAD = eINSTANCE.getFunctorDefiniton_Head(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference FUNCTOR_DEFINITON__BODY = eINSTANCE.getFunctorDefiniton_Body(); + + /** + * 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 '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionDefinitionImpl Function Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctionDefinition() + * @generated + */ + EClass FUNCTION_DEFINITION = eINSTANCE.getFunctionDefinition(); + + /** + * The meta object literal for the 'Result Type' reference feature. + * + * + * @generated + */ + EReference FUNCTION_DEFINITION__RESULT_TYPE = eINSTANCE.getFunctionDefinition_ResultType(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl Attribute}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAttribute() + * @generated + */ + EClass ATTRIBUTE = eINSTANCE.getAttribute(); + + /** + * The meta object literal for the 'Target' reference feature. + * + * + * @generated + */ + EReference ATTRIBUTE__TARGET = eINSTANCE.getAttribute_Target(); + + /** + * The meta object literal for the 'Kind' attribute feature. + * + * + * @generated + */ + EAttribute ATTRIBUTE__KIND = eINSTANCE.getAttribute_Kind(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDeclarationImpl Extern Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDeclaration() + * @generated + */ + EClass EXTERN_DECLARATION = eINSTANCE.getExternDeclaration(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_DECLARATION__NAME = eINSTANCE.getExternDeclaration_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctorDeclarationImpl Extern Functor Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctorDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternFunctorDeclaration() + * @generated + */ + EClass EXTERN_FUNCTOR_DECLARATION = eINSTANCE.getExternFunctorDeclaration(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST = eINSTANCE.getExternFunctorDeclaration_ArgumentList(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDeclarationImpl Extern Predicate Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDeclaration() + * @generated + */ + EClass EXTERN_PREDICATE_DECLARATION = eINSTANCE.getExternPredicateDeclaration(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctionDeclarationImpl Extern Function Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctionDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternFunctionDeclaration() + * @generated + */ + EClass EXTERN_FUNCTION_DECLARATION = eINSTANCE.getExternFunctionDeclaration(); + + /** + * The meta object literal for the 'Result Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_FUNCTION_DECLARATION__RESULT_TYPE = eINSTANCE.getExternFunctionDeclaration_ResultType(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl Extern Aggregation Operator Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregationOperatorDeclaration() + * @generated + */ + EClass EXTERN_AGGREGATION_OPERATOR_DECLARATION = eINSTANCE.getExternAggregationOperatorDeclaration(); + + /** + * The meta object literal for the 'Argument Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE = eINSTANCE + .getExternAggregationOperatorDeclaration_ArgumentType(); + + /** + * The meta object literal for the 'Result Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE = eINSTANCE + .getExternAggregationOperatorDeclaration_ResultType(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDeclarationImpl Extern Datatype Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDeclaration() + * @generated + */ + EClass EXTERN_DATATYPE_DECLARATION = eINSTANCE.getExternDatatypeDeclaration(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl Class Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDeclaration() + * @generated + */ + EClass CLASS_DECLARATION = eINSTANCE.getClassDeclaration(); + + /** + * The meta object literal for the 'Fields' containment reference list feature. + * + * + * @generated + */ + EReference CLASS_DECLARATION__FIELDS = eINSTANCE.getClassDeclaration_Fields(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DECLARATION__NAME = eINSTANCE.getClassDeclaration_Name(); + + /** + * The meta object literal for the 'Abstract' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DECLARATION__ABSTRACT = eINSTANCE.getClassDeclaration_Abstract(); + + /** + * The meta object literal for the 'Supertypes' reference list feature. + * + * + * @generated + */ + EReference CLASS_DECLARATION__SUPERTYPES = eINSTANCE.getClassDeclaration_Supertypes(); + + /** + * The meta object literal for the 'Root' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DECLARATION__ROOT = eINSTANCE.getClassDeclaration_Root(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumDeclarationImpl Enum Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumDeclaration() + * @generated + */ + EClass ENUM_DECLARATION = eINSTANCE.getEnumDeclaration(); + + /** + * The meta object literal for the 'Literals' containment reference list feature. + * + * + * @generated + */ + EReference ENUM_DECLARATION__LITERALS = eINSTANCE.getEnumDeclaration_Literals(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute ENUM_DECLARATION__NAME = eINSTANCE.getEnumDeclaration_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumLiteralImpl Enum Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumLiteral() + * @generated + */ + EClass ENUM_LITERAL = eINSTANCE.getEnumLiteral(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute ENUM_LITERAL__NAME = eINSTANCE.getEnumLiteral_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl Field}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getField() + * @generated + */ + EClass FIELD = eINSTANCE.getField(); + + /** + * The meta object literal for the 'Containment' attribute feature. + * + * + * @generated + */ + EAttribute FIELD__CONTAINMENT = eINSTANCE.getField_Containment(); + + /** + * The meta object literal for the 'Cross Reference' attribute feature. + * + * + * @generated + */ + EAttribute FIELD__CROSS_REFERENCE = eINSTANCE.getField_CrossReference(); + + /** + * The meta object literal for the 'Opposite' reference feature. + * + * + * @generated + */ + EReference FIELD__OPPOSITE = eINSTANCE.getField_Opposite(); + + /** + * The meta object literal for the 'Multiplicity' containment reference feature. + * + * + * @generated + */ + EReference FIELD__MULTIPLICITY = eINSTANCE.getField_Multiplicity(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference FIELD__TYPE = eINSTANCE.getField_Type(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute FIELD__NAME = eINSTANCE.getField_Name(); + + /** + * 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.DefaultAssertionImpl Default Assertion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultAssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultAssertion() + * @generated + */ + EClass DEFAULT_ASSERTION = eINSTANCE.getDefaultAssertion(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl Assertion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion() + * @generated + */ + EClass ASSERTION = eINSTANCE.getAssertion(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnboundedMultiplicityImpl Unbounded Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnboundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnboundedMultiplicity() + * @generated + */ + EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity(); + + /** + * 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 'Value' attribute feature. + * + * + * @generated + */ + EAttribute EXACT_MULTIPLICITY__VALUE = eINSTANCE.getExactMultiplicity_Value(); + + /** + * 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.InlinePredicateAttrributes Inline Predicate Attrributes}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInlinePredicateAttrributes() + * @generated + */ + EClass INLINE_PREDICATE_ATTRRIBUTES = eINSTANCE.getInlinePredicateAttrributes(); + + /** + * The meta object literal for the 'Error' attribute feature. + * + * + * @generated + */ + EAttribute INLINE_PREDICATE_ATTRRIBUTES__ERROR = eINSTANCE.getInlinePredicateAttrributes_Error(); + + /** + * The meta object literal for the 'Functional' attribute feature. + * + * + * @generated + */ + EAttribute INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL = eINSTANCE.getInlinePredicateAttrributes_Functional(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationOperatorImpl Aggregation Operator}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationOperatorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOperator() + * @generated + */ + EClass AGGREGATION_OPERATOR = eINSTANCE.getAggregationOperator(); + + /** + * The meta object literal for the 'Argument Type' reference feature. + * + * + * @generated + */ + EReference AGGREGATION_OPERATOR__ARGUMENT_TYPE = eINSTANCE.getAggregationOperator_ArgumentType(); + + /** + * The meta object literal for the 'Result Type' reference feature. + * + * + * @generated + */ + EReference AGGREGATION_OPERATOR__RESULT_TYPE = eINSTANCE.getAggregationOperator_ResultType(); + + /** + * 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 'Name' attribute feature. + * + * + * @generated + */ + EAttribute PROBLEM__NAME = eINSTANCE.getProblem_Name(); + + /** + * The meta object literal for the 'Statements' containment reference list feature. + * + * + * @generated + */ + EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements(); + + /** + * The meta object literal for the 'Symbols' containment reference list feature. + * + * + * @generated + */ + EReference PROBLEM__SYMBOLS = eINSTANCE.getProblem_Symbols(); + + /** + * The meta object literal for the 'Imports' containment reference list feature. + * + * + * @generated + */ + EReference PROBLEM__IMPORTS = eINSTANCE.getProblem_Imports(); + + /** + * 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 '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedVariableArgumentImpl Typed Variable Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedVariableArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedVariableArgument() + * @generated + */ + EClass TYPED_VARIABLE_ARGUMENT = eINSTANCE.getTypedVariableArgument(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute TYPED_VARIABLE_ARGUMENT__NAME = eINSTANCE.getTypedVariableArgument_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl Unnamed Error Predicate Defintion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPredicateDefintion() + * @generated + */ + EClass UNNAMED_ERROR_PREDICATE_DEFINTION = eINSTANCE.getUnnamedErrorPredicateDefintion(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST = eINSTANCE + .getUnnamedErrorPredicateDefintion_ArgumentList(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference UNNAMED_ERROR_PREDICATE_DEFINTION__BODY = eINSTANCE.getUnnamedErrorPredicateDefintion_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDeclarationImpl Objective Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDeclaration() + * @generated + */ + EClass OBJECTIVE_DECLARATION = eINSTANCE.getObjectiveDeclaration(); + + /** + * The meta object literal for the 'Kind' attribute feature. + * + * + * @generated + */ + EAttribute OBJECTIVE_DECLARATION__KIND = eINSTANCE.getObjectiveDeclaration_Kind(); + + /** + * The meta object literal for the 'Objective' containment reference feature. + * + * + * @generated + */ + EReference OBJECTIVE_DECLARATION__OBJECTIVE = eINSTANCE.getObjectiveDeclaration_Objective(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDeclarationImpl Scope Declaration}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDeclarationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDeclaration() + * @generated + */ + EClass SCOPE_DECLARATION = eINSTANCE.getScopeDeclaration(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference SCOPE_DECLARATION__TYPE = eINSTANCE.getScopeDeclaration_Type(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeImpl Exact Scope}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScope() + * @generated + */ + EClass EXACT_SCOPE = eINSTANCE.getExactScope(); + + /** + * The meta object literal for the 'Size' attribute feature. + * + * + * @generated + */ + EAttribute EXACT_SCOPE__SIZE = eINSTANCE.getExactScope_Size(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeImpl Bounded Scope}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScope() + * @generated + */ + EClass BOUNDED_SCOPE = eINSTANCE.getBoundedScope(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_SCOPE__LOWER_BOUND = eINSTANCE.getBoundedScope_LowerBound(); + + /** + * The meta object literal for the 'Upper Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_SCOPE__UPPER_BOUND = eINSTANCE.getBoundedScope_UpperBound(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeImpl Lower Bounded Scope}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScope() + * @generated + */ + EClass LOWER_BOUNDED_SCOPE = eINSTANCE.getLowerBoundedScope(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute LOWER_BOUNDED_SCOPE__LOWER_BOUND = eINSTANCE.getLowerBoundedScope_LowerBound(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamespaceImportImpl Namespace Import}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamespaceImportImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamespaceImport() + * @generated + */ + EClass NAMESPACE_IMPORT = eINSTANCE.getNamespaceImport(); + + /** + * The meta object literal for the 'Imported Namespace' attribute feature. + * + * + * @generated + */ + EAttribute NAMESPACE_IMPORT__IMPORTED_NAMESPACE = eINSTANCE.getNamespaceImport_ImportedNamespace(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ImportImpl Import}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ImportImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getImport() + * @generated + */ + EClass IMPORT = eINSTANCE.getImport(); + + /** + * The meta object literal for the 'Alias' attribute feature. + * + * + * @generated + */ + EAttribute IMPORT__ALIAS = eINSTANCE.getImport_Alias(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UriImportImpl Uri Import}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UriImportImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUriImport() + * @generated + */ + EClass URI_IMPORT = eINSTANCE.getUriImport(); + + /** + * The meta object literal for the 'Uri' attribute feature. + * + * + * @generated + */ + EAttribute URI_IMPORT__URI = eINSTANCE.getUriImport_Uri(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator Unary Operator}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOperator() + * @generated + */ + EEnum UNARY_OPERATOR = eINSTANCE.getUnaryOperator(); + + /** + * 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.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.AttributeKind Attribute Kind}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.AttributeKind + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAttributeKind() + * @generated + */ + EEnum ATTRIBUTE_KIND = eINSTANCE.getAttributeKind(); + + } + +} //SolverLanguagePackage diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java new file mode 100644 index 00000000..c81bd654 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java @@ -0,0 +1,16 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java new file mode 100644 index 00000000..0db8c675 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java @@ -0,0 +1,18 @@ +/** + */ +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 abstract="true" + * @generated + */ +public interface Statement extends EObject { +} // Statement diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java new file mode 100644 index 00000000..cc361917 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java @@ -0,0 +1,44 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java new file mode 100644 index 00000000..7f2111bd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java @@ -0,0 +1,36 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java new file mode 100644 index 00000000..bf8f220b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java @@ -0,0 +1,46 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Symbol'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Symbol#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSymbol() + * @model abstract="true" + * @generated + */ +public interface Symbol 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#getSymbol_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // Symbol diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypeReference.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypeReference.java new file mode 100644 index 00000000..9a448bba --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypeReference.java @@ -0,0 +1,69 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Type Reference'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference#isForceObjectType Force Object Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypeReference() + * @model + * @generated + */ +public interface TypeReference extends EObject { + /** + * Returns the value of the 'Force Object Type' attribute. + * + * + * @return the value of the 'Force Object Type' attribute. + * @see #setForceObjectType(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypeReference_ForceObjectType() + * @model + * @generated + */ + boolean isForceObjectType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference#isForceObjectType Force Object Type}' attribute. + * + * + * @param value the new value of the 'Force Object Type' attribute. + * @see #isForceObjectType() + * @generated + */ + void setForceObjectType(boolean value); + + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(Symbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypeReference_Type() + * @model + * @generated + */ + Symbol getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(Symbol value); + +} // TypeReference diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java new file mode 100644 index 00000000..b9b411f5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java @@ -0,0 +1,44 @@ +/** + */ +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#getTypeReference Type Reference}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument() + * @model abstract="true" + * @generated + */ +public interface TypedArgument extends Argument { + /** + * Returns the value of the 'Type Reference' containment reference. + * + * + * @return the value of the 'Type Reference' containment reference. + * @see #setTypeReference(TypeReference) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_TypeReference() + * @model containment="true" + * @generated + */ + TypeReference getTypeReference(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getTypeReference Type Reference}' containment reference. + * + * + * @param value the new value of the 'Type Reference' containment reference. + * @see #getTypeReference() + * @generated + */ + void setTypeReference(TypeReference value); + +} // TypedArgument diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java new file mode 100644 index 00000000..0693f4e0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Typed Star Argument'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument() + * @model + * @generated + */ +public interface TypedStarArgument extends TypedArgument { +} // TypedStarArgument diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedVariableArgument.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedVariableArgument.java new file mode 100644 index 00000000..8a86fd9a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedVariableArgument.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Typed Variable Argument'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedVariableArgument() + * @model + * @generated + */ +public interface TypedVariableArgument extends TypedArgument { + /** + * 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#getTypedVariableArgument_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // TypedVariableArgument diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java new file mode 100644 index 00000000..a317b366 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java @@ -0,0 +1,70 @@ +/** + */ +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#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp Op}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression() + * @model + * @generated + */ +public interface UnaryExpression 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#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); + + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator + * @see #setOp(UnaryOperator) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Op() + * @model + * @generated + */ + UnaryOperator 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.UnaryOperator + * @see #getOp() + * @generated + */ + void setOp(UnaryOperator value); + +} // UnaryExpression diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOperator.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOperator.java new file mode 100644 index 00000000..ef404f46 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOperator.java @@ -0,0 +1,250 @@ +/** + */ +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 Operator', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryOperator() + * @model + * @generated + */ +public enum UnaryOperator implements Enumerator { + /** + * The 'NOT' literal object. + * + * + * @see #NOT_VALUE + * @generated + * @ordered + */ + NOT(0, "NOT", "NOT"), + + /** + * The 'PLUS' literal object. + * + * + * @see #PLUS_VALUE + * @generated + * @ordered + */ + PLUS(1, "PLUS", "PLUS"), + + /** + * The 'MINUS' literal object. + * + * + * @see #MINUS_VALUE + * @generated + * @ordered + */ + MINUS(2, "MINUS", "MINUS"), + + /** + * The 'MAYBE' literal object. + * + * + * @see #MAYBE_VALUE + * @generated + * @ordered + */ + MAYBE(3, "MAYBE", "MAYBE"); + + /** + * The 'NOT' literal value. + * + * + * @see #NOT + * @model + * @generated + * @ordered + */ + public static final int NOT_VALUE = 0; + + /** + * The 'PLUS' literal value. + * + * + * @see #PLUS + * @model + * @generated + * @ordered + */ + public static final int PLUS_VALUE = 1; + + /** + * The 'MINUS' literal value. + * + * + * @see #MINUS + * @model + * @generated + * @ordered + */ + public static final int MINUS_VALUE = 2; + + /** + * The 'MAYBE' literal value. + * + * + * @see #MAYBE + * @model + * @generated + * @ordered + */ + public static final int MAYBE_VALUE = 3; + + /** + * An array of all the 'Unary Operator' enumerators. + * + * + * @generated + */ + private static final UnaryOperator[] VALUES_ARRAY = new UnaryOperator[] { NOT, PLUS, MINUS, MAYBE, }; + + /** + * A public read-only list of all the 'Unary Operator' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Unary Operator' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOperator get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + UnaryOperator result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Unary Operator' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOperator getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + UnaryOperator result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Unary Operator' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOperator get(int value) { + switch (value) { + case NOT_VALUE: + return NOT; + case PLUS_VALUE: + return PLUS; + case MINUS_VALUE: + return MINUS; + case MAYBE_VALUE: + return MAYBE; + } + 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 UnaryOperator(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //UnaryOperator diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnboundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnboundedMultiplicity.java new file mode 100644 index 00000000..b6ce711e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnboundedMultiplicity.java @@ -0,0 +1,16 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Unbounded Multiplicity'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnboundedMultiplicity() + * @model + * @generated + */ +public interface UnboundedMultiplicity extends Multiplicity { +} // UnboundedMultiplicity diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPredicateDefintion.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPredicateDefintion.java new file mode 100644 index 00000000..9b9fc4eb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPredicateDefintion.java @@ -0,0 +1,67 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Unnamed Error Predicate Defintion'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#getArgumentList Argument List}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPredicateDefintion() + * @model + * @generated + */ +public interface UnnamedErrorPredicateDefintion 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#getUnnamedErrorPredicateDefintion_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#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#getUnnamedErrorPredicateDefintion_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // UnnamedErrorPredicateDefintion diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UriImport.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UriImport.java new file mode 100644 index 00000000..1256deb8 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UriImport.java @@ -0,0 +1,44 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +/** + * + * A representation of the model object 'Uri Import'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.UriImport#getUri Uri}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUriImport() + * @model + * @generated + */ +public interface UriImport extends Import { + /** + * Returns the value of the 'Uri' attribute. + * + * + * @return the value of the 'Uri' attribute. + * @see #setUri(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUriImport_Uri() + * @model + * @generated + */ + String getUri(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UriImport#getUri Uri}' attribute. + * + * + * @param value the new value of the 'Uri' attribute. + * @see #getUri() + * @generated + */ + void setUri(String value); + +} // UriImport diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java new file mode 100644 index 00000000..5e5f9298 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java @@ -0,0 +1,44 @@ +/** + */ +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#getTypeReference Type Reference}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable() + * @model + * @generated + */ +public interface Variable extends Symbol { + /** + * Returns the value of the 'Type Reference' containment reference. + * + * + * @return the value of the 'Type Reference' containment reference. + * @see #setTypeReference(TypeReference) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable_TypeReference() + * @model containment="true" + * @generated + */ + TypeReference getTypeReference(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getTypeReference Type Reference}' containment reference. + * + * + * @param value the new value of the 'Type Reference' containment reference. + * @see #getTypeReference() + * @generated + */ + void setTypeReference(TypeReference value); + +} // Variable diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java new file mode 100644 index 00000000..ec01140f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AbstractAssertionImpl.java @@ -0,0 +1,255 @@ +/** + */ +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.AbstractAssertion; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Abstract Assertion'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AbstractAssertionImpl#getExpression Expression}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AbstractAssertionImpl#getRange Range}
  • + *
+ * + * @generated + */ +public abstract class AbstractAssertionImpl extends StatementImpl implements AbstractAssertion { + /** + * The cached value of the '{@link #getExpression() Expression}' containment reference. + * + * + * @see #getExpression() + * @generated + * @ordered + */ + protected Expression expression; + + /** + * The cached value of the '{@link #getRange() Range}' containment reference. + * + * + * @see #getRange() + * @generated + * @ordered + */ + protected Expression range; + + /** + * + * + * @generated + */ + protected AbstractAssertionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.ABSTRACT_ASSERTION; + } + + /** + * + * + * @generated + */ + public Expression getExpression() { + return expression; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs) { + Expression oldExpression = expression; + expression = newExpression; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION, oldExpression, newExpression); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setExpression(Expression newExpression) { + if (newExpression != expression) { + NotificationChain msgs = null; + if (expression != null) + msgs = ((InternalEObject) expression).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION, null, msgs); + if (newExpression != null) + msgs = ((InternalEObject) newExpression).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION, null, msgs); + msgs = basicSetExpression(newExpression, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION, + newExpression, newExpression)); + } + + /** + * + * + * @generated + */ + 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.ABSTRACT_ASSERTION__RANGE, oldRange, newRange); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRange(Expression newRange) { + if (newRange != range) { + NotificationChain msgs = null; + if (range != null) + msgs = ((InternalEObject) range).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE, null, msgs); + if (newRange != null) + msgs = ((InternalEObject) newRange).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE, null, msgs); + msgs = basicSetRange(newRange, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE, + newRange, newRange)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION: + return basicSetExpression(null, msgs); + case SolverLanguagePackage.ABSTRACT_ASSERTION__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.ABSTRACT_ASSERTION__EXPRESSION: + return getExpression(); + case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE: + return getRange(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION: + setExpression((Expression) newValue); + return; + case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE: + setRange((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION: + setExpression((Expression) null); + return; + case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE: + setRange((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ABSTRACT_ASSERTION__EXPRESSION: + return expression != null; + case SolverLanguagePackage.ABSTRACT_ASSERTION__RANGE: + return range != null; + } + return super.eIsSet(featureID); + } + +} //AbstractAssertionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java new file mode 100644 index 00000000..9427a84d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregateExpressionImpl.java @@ -0,0 +1,228 @@ +/** + */ +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.AggregateExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model object 'Aggregate Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregateExpressionImpl#getForallVariables Forall Variables}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregateExpressionImpl#getCondition Condition}
  • + *
+ * + * @generated + */ +public abstract class AggregateExpressionImpl extends ExpressionImpl implements AggregateExpression { + /** + * The cached value of the '{@link #getForallVariables() Forall Variables}' containment reference list. + * + * + * @see #getForallVariables() + * @generated + * @ordered + */ + protected EList forallVariables; + + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * + * + * @generated + */ + protected AggregateExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION; + } + + /** + * + * + * @generated + */ + public EList getForallVariables() { + if (forallVariables == null) { + forallVariables = new EObjectContainmentEList(Variable.class, this, + SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES); + } + return forallVariables; + } + + /** + * + * + * @generated + */ + 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.AGGREGATE_EXPRESSION__CONDITION, oldCondition, newCondition); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCondition(Expression newCondition) { + if (newCondition != condition) { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject) condition).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject) newCondition).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION, + newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES: + return ((InternalEList) getForallVariables()).basicRemove(otherEnd, msgs); + case SolverLanguagePackage.AGGREGATE_EXPRESSION__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.AGGREGATE_EXPRESSION__FORALL_VARIABLES: + return getForallVariables(); + case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES: + getForallVariables().clear(); + getForallVariables().addAll((Collection) newValue); + return; + case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION: + setCondition((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES: + getForallVariables().clear(); + return; + case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION: + setCondition((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATE_EXPRESSION__FORALL_VARIABLES: + return forallVariables != null && !forallVariables.isEmpty(); + case SolverLanguagePackage.AGGREGATE_EXPRESSION__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //AggregateExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java new file mode 100644 index 00000000..f67de89a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java @@ -0,0 +1,245 @@ +/** + */ +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.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Aggregation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getValue Value}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getOp Op}
  • + *
+ * + * @generated + */ +public class AggregationImpl extends AggregateExpressionImpl implements Aggregation { + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * The cached value of the '{@link #getOp() Op}' reference. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected Symbol op; + + /** + * + * + * @generated + */ + protected AggregationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.AGGREGATION; + } + + /** + * + * + * @generated + */ + 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.AGGREGATION__VALUE, oldValue, newValue); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(Expression newValue) { + if (newValue != value) { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject) value).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject) newValue).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__VALUE, newValue, + newValue)); + } + + /** + * + * + * @generated + */ + public Symbol getOp() { + if (op != null && op.eIsProxy()) { + InternalEObject oldOp = (InternalEObject) op; + op = (Symbol) eResolveProxy(oldOp); + if (op != oldOp) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.AGGREGATION__OP, + oldOp, op)); + } + } + return op; + } + + /** + * + * + * @generated + */ + public Symbol basicGetOp() { + return op; + } + + /** + * + * + * @generated + */ + public void setOp(Symbol newOp) { + Symbol oldOp = op; + op = newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__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.AGGREGATION__VALUE: + return getValue(); + case SolverLanguagePackage.AGGREGATION__OP: + if (resolve) + return getOp(); + return basicGetOp(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__VALUE: + setValue((Expression) newValue); + return; + case SolverLanguagePackage.AGGREGATION__OP: + setOp((Symbol) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__VALUE: + setValue((Expression) null); + return; + case SolverLanguagePackage.AGGREGATION__OP: + setOp((Symbol) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION__VALUE: + return value != null; + case SolverLanguagePackage.AGGREGATION__OP: + return op != null; + } + return super.eIsSet(featureID); + } + +} //AggregationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java new file mode 100644 index 00000000..6842754e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationOperatorImpl.java @@ -0,0 +1,222 @@ +/** + */ +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.AggregationOperator; +import org.eclipse.viatra.solver.language.solverLanguage.Datatype; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Aggregation Operator'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationOperatorImpl#getArgumentType Argument Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationOperatorImpl#getResultType Result Type}
  • + *
+ * + * @generated + */ +public class AggregationOperatorImpl extends SymbolImpl implements AggregationOperator { + /** + * The cached value of the '{@link #getArgumentType() Argument Type}' reference. + * + * + * @see #getArgumentType() + * @generated + * @ordered + */ + protected Datatype argumentType; + + /** + * The cached value of the '{@link #getResultType() Result Type}' reference. + * + * + * @see #getResultType() + * @generated + * @ordered + */ + protected Datatype resultType; + + /** + * + * + * @generated + */ + protected AggregationOperatorImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.AGGREGATION_OPERATOR; + } + + /** + * + * + * @generated + */ + public Datatype getArgumentType() { + if (argumentType != null && argumentType.eIsProxy()) { + InternalEObject oldArgumentType = (InternalEObject) argumentType; + argumentType = (Datatype) eResolveProxy(oldArgumentType); + if (argumentType != oldArgumentType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE, oldArgumentType, argumentType)); + } + } + return argumentType; + } + + /** + * + * + * @generated + */ + public Datatype basicGetArgumentType() { + return argumentType; + } + + /** + * + * + * @generated + */ + public void setArgumentType(Datatype newArgumentType) { + Datatype oldArgumentType = argumentType; + argumentType = newArgumentType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE, oldArgumentType, argumentType)); + } + + /** + * + * + * @generated + */ + public Datatype getResultType() { + if (resultType != null && resultType.eIsProxy()) { + InternalEObject oldResultType = (InternalEObject) resultType; + resultType = (Datatype) eResolveProxy(oldResultType); + if (resultType != oldResultType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE, oldResultType, resultType)); + } + } + return resultType; + } + + /** + * + * + * @generated + */ + public Datatype basicGetResultType() { + return resultType; + } + + /** + * + * + * @generated + */ + public void setResultType(Datatype newResultType) { + Datatype oldResultType = resultType; + resultType = newResultType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE, oldResultType, resultType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE: + if (resolve) + return getArgumentType(); + return basicGetArgumentType(); + case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE: + if (resolve) + return getResultType(); + return basicGetResultType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE: + setArgumentType((Datatype) newValue); + return; + case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE: + setResultType((Datatype) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE: + setArgumentType((Datatype) null); + return; + case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE: + setResultType((Datatype) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.AGGREGATION_OPERATOR__ARGUMENT_TYPE: + return argumentType != null; + case SolverLanguagePackage.AGGREGATION_OPERATOR__RESULT_TYPE: + return resultType != null; + } + return super.eIsSet(featureID); + } + +} //AggregationOperatorImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java new file mode 100644 index 00000000..c245d5aa --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java @@ -0,0 +1,39 @@ +/** + */ +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 abstract 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java new file mode 100644 index 00000000..9d6cc468 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java @@ -0,0 +1,153 @@ +/** + */ +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 + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java new file mode 100644 index 00000000..8b4e2cde --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Assertion; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Assertion'. + * + * + * @generated + */ +public class AssertionImpl extends AbstractAssertionImpl implements Assertion { + /** + * + * + * @generated + */ + protected AssertionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.ASSERTION; + } + +} //AssertionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java new file mode 100644 index 00000000..c9974907 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AttributeImpl.java @@ -0,0 +1,230 @@ +/** + */ +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.Attribute; +import org.eclipse.viatra.solver.language.solverLanguage.AttributeKind; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Attribute'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl#getTarget Target}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AttributeImpl#getKind Kind}
  • + *
+ * + * @generated + */ +public abstract class AttributeImpl extends StatementImpl implements Attribute { + /** + * The cached value of the '{@link #getTarget() Target}' reference. + * + * + * @see #getTarget() + * @generated + * @ordered + */ + protected Symbol target; + + /** + * The default value of the '{@link #getKind() Kind}' attribute. + * + * + * @see #getKind() + * @generated + * @ordered + */ + protected static final AttributeKind KIND_EDEFAULT = AttributeKind.FUNCTIONAL; + + /** + * The cached value of the '{@link #getKind() Kind}' attribute. + * + * + * @see #getKind() + * @generated + * @ordered + */ + protected AttributeKind kind = KIND_EDEFAULT; + + /** + * + * + * @generated + */ + protected AttributeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.ATTRIBUTE; + } + + /** + * + * + * @generated + */ + public Symbol getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject) target; + target = (Symbol) eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.ATTRIBUTE__TARGET, + oldTarget, target)); + } + } + return target; + } + + /** + * + * + * @generated + */ + public Symbol basicGetTarget() { + return target; + } + + /** + * + * + * @generated + */ + public void setTarget(Symbol newTarget) { + Symbol oldTarget = target; + target = newTarget; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ATTRIBUTE__TARGET, oldTarget, + target)); + } + + /** + * + * + * @generated + */ + public AttributeKind getKind() { + return kind; + } + + /** + * + * + * @generated + */ + public void setKind(AttributeKind newKind) { + AttributeKind oldKind = kind; + kind = newKind == null ? KIND_EDEFAULT : newKind; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ATTRIBUTE__KIND, oldKind, + kind)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.ATTRIBUTE__TARGET: + if (resolve) + return getTarget(); + return basicGetTarget(); + case SolverLanguagePackage.ATTRIBUTE__KIND: + return getKind(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.ATTRIBUTE__TARGET: + setTarget((Symbol) newValue); + return; + case SolverLanguagePackage.ATTRIBUTE__KIND: + setKind((AttributeKind) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ATTRIBUTE__TARGET: + setTarget((Symbol) null); + return; + case SolverLanguagePackage.ATTRIBUTE__KIND: + setKind(KIND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ATTRIBUTE__TARGET: + return target != null; + case SolverLanguagePackage.ATTRIBUTE__KIND: + return kind != KIND_EDEFAULT; + } + 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(); + } + +} //AttributeImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java new file mode 100644 index 00000000..797b3a48 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BaseRelationImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.BaseRelation; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Base Relation'. + * + * + * @generated + */ +public class BaseRelationImpl extends RelationImpl implements BaseRelation { + /** + * + * + * @generated + */ + protected BaseRelationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.BASE_RELATION; + } + +} //BaseRelationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java new file mode 100644 index 00000000..e93a12ce --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java @@ -0,0 +1,326 @@ +/** + */ +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#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getLeft Left}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression { + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.PLUS; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected BinaryOperator op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * 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 + */ + public BinaryOperator getOp() { + return op; + } + + /** + * + * + * @generated + */ + 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 + */ + 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 + */ + 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 + */ + 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 + */ + 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__OP: + return getOp(); + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return getLeft(); + 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__OP: + setOp((BinaryOperator) newValue); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + setLeft((Expression) 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__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + setLeft((Expression) null); + 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__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return left != null; + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java new file mode 100644 index 00000000..c4aa7dfd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java @@ -0,0 +1,219 @@ +/** + */ +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 + */ + public int getLowerBound() { + return lowerBound; + } + + /** + * + * + * @generated + */ + 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 + */ + public int getUpperBound() { + return upperBound; + } + + /** + * + * + * @generated + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java new file mode 100644 index 00000000..acd63c55 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeImpl.java @@ -0,0 +1,219 @@ +/** + */ +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.BoundedScope; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Bounded Scope'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeImpl#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeImpl#getUpperBound Upper Bound}
  • + *
+ * + * @generated + */ +public class BoundedScopeImpl extends ScopeDeclarationImpl implements BoundedScope { + /** + * 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 BoundedScopeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.BOUNDED_SCOPE; + } + + /** + * + * + * @generated + */ + public int getLowerBound() { + return lowerBound; + } + + /** + * + * + * @generated + */ + public void setLowerBound(int newLowerBound) { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND, + oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + public int getUpperBound() { + return upperBound; + } + + /** + * + * + * @generated + */ + public void setUpperBound(int newUpperBound) { + int oldUpperBound = upperBound; + upperBound = newUpperBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE__UPPER_BOUND, + oldUpperBound, upperBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND: + return getLowerBound(); + case SolverLanguagePackage.BOUNDED_SCOPE__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__LOWER_BOUND: + setLowerBound((Integer) newValue); + return; + case SolverLanguagePackage.BOUNDED_SCOPE__UPPER_BOUND: + setUpperBound((Integer) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + case SolverLanguagePackage.BOUNDED_SCOPE__UPPER_BOUND: + setUpperBound(UPPER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.BOUNDED_SCOPE__LOWER_BOUND: + return lowerBound != LOWER_BOUND_EDEFAULT; + case SolverLanguagePackage.BOUNDED_SCOPE__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(); + } + +} //BoundedScopeImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java new file mode 100644 index 00000000..59c2a372 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java @@ -0,0 +1,256 @@ +/** + */ +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#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 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 + */ + 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 + */ + 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 + */ + 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 + */ + 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__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__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__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__ARGUMENT_LIST: + return argumentList != null; + } + return super.eIsSet(featureID); + } + +} //CallImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java new file mode 100644 index 00000000..9c4d6820 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java @@ -0,0 +1,254 @@ +/** + */ +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#getCondition Condition}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class CaseImpl extends ExpressionImpl implements Case { + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected CaseImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CASE; + } + + /** + * + * + * @generated + */ + 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 + */ + 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 + */ + 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 + */ + 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 NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CASE__CONDITION: + return basicSetCondition(null, msgs); + case SolverLanguagePackage.CASE__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.CASE__CONDITION: + return getCondition(); + case SolverLanguagePackage.CASE__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression) newValue); + return; + case SolverLanguagePackage.CASE__BODY: + setBody((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression) null); + return; + case SolverLanguagePackage.CASE__BODY: + setBody((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CASE__CONDITION: + return condition != null; + case SolverLanguagePackage.CASE__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //CaseImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java new file mode 100644 index 00000000..66baf204 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java @@ -0,0 +1,246 @@ +/** + */ +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.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * 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#getTargetType Target 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 #getTargetType() Target Type}' reference. + * + * + * @see #getTargetType() + * @generated + * @ordered + */ + protected Symbol targetType; + + /** + * + * + * @generated + */ + protected CastExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CAST_EXPRESSION; + } + + /** + * + * + * @generated + */ + 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 + */ + 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 + */ + public Symbol getTargetType() { + if (targetType != null && targetType.eIsProxy()) { + InternalEObject oldTargetType = (InternalEObject) targetType; + targetType = (Symbol) eResolveProxy(oldTargetType); + if (targetType != oldTargetType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE, oldTargetType, targetType)); + } + } + return targetType; + } + + /** + * + * + * @generated + */ + public Symbol basicGetTargetType() { + return targetType; + } + + /** + * + * + * @generated + */ + public void setTargetType(Symbol newTargetType) { + Symbol oldTargetType = targetType; + targetType = newTargetType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__TARGET_TYPE, + oldTargetType, targetType)); + } + + /** + * + * + * @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__TARGET_TYPE: + if (resolve) + return getTargetType(); + return basicGetTargetType(); + } + 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__TARGET_TYPE: + setTargetType((Symbol) 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__TARGET_TYPE: + setTargetType((Symbol) 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__TARGET_TYPE: + return targetType != null; + } + return super.eIsSet(featureID); + } + +} //CastExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java new file mode 100644 index 00000000..a9bfeab7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDeclarationImpl.java @@ -0,0 +1,371 @@ +/** + */ +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.ClassDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.Field; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Class Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#getFields Fields}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#getSupertypes Supertypes}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDeclarationImpl#isRoot Root}
  • + *
+ * + * @generated + */ +public class ClassDeclarationImpl extends StatementImpl implements ClassDeclaration { + /** + * The cached value of the '{@link #getFields() Fields}' containment reference list. + * + * + * @see #getFields() + * @generated + * @ordered + */ + protected EList fields; + + /** + * 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 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 cached value of the '{@link #getSupertypes() Supertypes}' reference list. + * + * + * @see #getSupertypes() + * @generated + * @ordered + */ + protected EList supertypes; + + /** + * The default value of the '{@link #isRoot() Root}' attribute. + * + * + * @see #isRoot() + * @generated + * @ordered + */ + protected static final boolean ROOT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isRoot() Root}' attribute. + * + * + * @see #isRoot() + * @generated + * @ordered + */ + protected boolean root = ROOT_EDEFAULT; + + /** + * + * + * @generated + */ + protected ClassDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CLASS_DECLARATION; + } + + /** + * + * + * @generated + */ + public EList getFields() { + if (fields == null) { + fields = new EObjectContainmentEList(Field.class, this, + SolverLanguagePackage.CLASS_DECLARATION__FIELDS); + } + return fields; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DECLARATION__NAME, + oldName, name)); + } + + /** + * + * + * @generated + */ + public boolean isAbstract() { + return abstract_; + } + + /** + * + * + * @generated + */ + public void setAbstract(boolean newAbstract) { + boolean oldAbstract = abstract_; + abstract_ = newAbstract; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT, + oldAbstract, abstract_)); + } + + /** + * + * + * @generated + */ + public EList getSupertypes() { + if (supertypes == null) { + supertypes = new EObjectResolvingEList(Symbol.class, this, + SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES); + } + return supertypes; + } + + /** + * + * + * @generated + */ + public boolean isRoot() { + return root; + } + + /** + * + * + * @generated + */ + public void setRoot(boolean newRoot) { + boolean oldRoot = root; + root = newRoot; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DECLARATION__ROOT, + oldRoot, root)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DECLARATION__FIELDS: + return ((InternalEList) getFields()).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_DECLARATION__FIELDS: + return getFields(); + case SolverLanguagePackage.CLASS_DECLARATION__NAME: + return getName(); + case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT: + return isAbstract(); + case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES: + return getSupertypes(); + case SolverLanguagePackage.CLASS_DECLARATION__ROOT: + return isRoot(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DECLARATION__FIELDS: + getFields().clear(); + getFields().addAll((Collection) newValue); + return; + case SolverLanguagePackage.CLASS_DECLARATION__NAME: + setName((String) newValue); + return; + case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT: + setAbstract((Boolean) newValue); + return; + case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES: + getSupertypes().clear(); + getSupertypes().addAll((Collection) newValue); + return; + case SolverLanguagePackage.CLASS_DECLARATION__ROOT: + setRoot((Boolean) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DECLARATION__FIELDS: + getFields().clear(); + return; + case SolverLanguagePackage.CLASS_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT: + setAbstract(ABSTRACT_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES: + getSupertypes().clear(); + return; + case SolverLanguagePackage.CLASS_DECLARATION__ROOT: + setRoot(ROOT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DECLARATION__FIELDS: + return fields != null && !fields.isEmpty(); + case SolverLanguagePackage.CLASS_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.CLASS_DECLARATION__ABSTRACT: + return abstract_ != ABSTRACT_EDEFAULT; + case SolverLanguagePackage.CLASS_DECLARATION__SUPERTYPES: + return supertypes != null && !supertypes.isEmpty(); + case SolverLanguagePackage.CLASS_DECLARATION__ROOT: + return root != ROOT_EDEFAULT; + } + 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(", abstract: "); + result.append(abstract_); + result.append(", root: "); + result.append(root); + result.append(')'); + return result.toString(); + } + +} //ClassDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java new file mode 100644 index 00000000..30d5c6c1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConditionalExpressionImpl.java @@ -0,0 +1,328 @@ +/** + */ +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.ConditionalExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Conditional Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl#getCondition Condition}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl#getThen Then}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConditionalExpressionImpl#getElse Else}
  • + *
+ * + * @generated + */ +public class ConditionalExpressionImpl extends ExpressionImpl implements ConditionalExpression { + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * 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_; + + /** + * + * + * @generated + */ + protected ConditionalExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION; + } + + /** + * + * + * @generated + */ + 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.CONDITIONAL_EXPRESSION__CONDITION, oldCondition, newCondition); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCondition(Expression newCondition) { + if (newCondition != condition) { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject) condition).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject) newCondition).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + 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.CONDITIONAL_EXPRESSION__THEN, oldThen, newThen); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setThen(Expression newThen) { + if (newThen != then) { + NotificationChain msgs = null; + if (then != null) + msgs = ((InternalEObject) then).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN, null, msgs); + if (newThen != null) + msgs = ((InternalEObject) newThen).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN, null, msgs); + msgs = basicSetThen(newThen, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN, + newThen, newThen)); + } + + /** + * + * + * @generated + */ + 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.CONDITIONAL_EXPRESSION__ELSE, oldElse, newElse); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setElse(Expression newElse) { + if (newElse != else_) { + NotificationChain msgs = null; + if (else_ != null) + msgs = ((InternalEObject) else_).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE, null, msgs); + if (newElse != null) + msgs = ((InternalEObject) newElse).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE, null, msgs); + msgs = basicSetElse(newElse, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE, + newElse, newElse)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION: + return basicSetCondition(null, msgs); + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN: + return basicSetThen(null, msgs); + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE: + return basicSetElse(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION: + return getCondition(); + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN: + return getThen(); + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE: + return getElse(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION: + setCondition((Expression) newValue); + return; + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN: + setThen((Expression) newValue); + return; + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE: + setElse((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION: + setCondition((Expression) null); + return; + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN: + setThen((Expression) null); + return; + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE: + setElse((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__CONDITION: + return condition != null; + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__THEN: + return then != null; + case SolverLanguagePackage.CONDITIONAL_EXPRESSION__ELSE: + return else_ != null; + } + return super.eIsSet(featureID); + } + +} //ConditionalExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java new file mode 100644 index 00000000..6ac60dc1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Conjunction'. + * + * + * @generated + */ +public class ConjunctionImpl extends MultiaryExpessionImpl implements Conjunction { + /** + * + * + * @generated + */ + protected ConjunctionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CONJUNCTION; + } + +} //ConjunctionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java new file mode 100644 index 00000000..b4a870c7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Count; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Count'. + * + * + * @generated + */ +public class CountImpl extends AggregateExpressionImpl implements Count { + /** + * + * + * @generated + */ + protected CountImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.COUNT; + } + +} //CountImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java new file mode 100644 index 00000000..eeb6a1d4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DatatypeImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Datatype; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Datatype'. + * + * + * @generated + */ +public class DatatypeImpl extends RelationImpl implements Datatype { + /** + * + * + * @generated + */ + protected DatatypeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.DATATYPE; + } + +} //DatatypeImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java new file mode 100644 index 00000000..52d5240c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultAssertionImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.DefaultAssertion; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Default Assertion'. + * + * + * @generated + */ +public class DefaultAssertionImpl extends AbstractAssertionImpl implements DefaultAssertion { + /** + * + * + * @generated + */ + protected DefaultAssertionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.DEFAULT_ASSERTION; + } + +} //DefaultAssertionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java new file mode 100644 index 00000000..a13a92f5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Disjunction'. + * + * + * @generated + */ +public class DisjunctionImpl extends MultiaryExpessionImpl implements Disjunction { + /** + * + * + * @generated + */ + protected DisjunctionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.DISJUNCTION; + } + +} //DisjunctionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java new file mode 100644 index 00000000..b5dc7e54 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyLiteralImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.EmptyLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Empty Literal'. + * + * + * @generated + */ +public class EmptyLiteralImpl extends LiteralImpl implements EmptyLiteral { + /** + * + * + * @generated + */ + protected EmptyLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EMPTY_LITERAL; + } + +} //EmptyLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java new file mode 100644 index 00000000..1ddcc2f1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumDeclarationImpl.java @@ -0,0 +1,224 @@ +/** + */ +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.EnumDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Enum Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumDeclarationImpl#getLiterals Literals}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumDeclarationImpl#getName Name}
  • + *
+ * + * @generated + */ +public class EnumDeclarationImpl extends StatementImpl implements EnumDeclaration { + /** + * The cached value of the '{@link #getLiterals() Literals}' containment reference list. + * + * + * @see #getLiterals() + * @generated + * @ordered + */ + protected EList literals; + + /** + * 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 EnumDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.ENUM_DECLARATION; + } + + /** + * + * + * @generated + */ + public EList getLiterals() { + if (literals == null) { + literals = new EObjectContainmentEList(EnumLiteral.class, this, + SolverLanguagePackage.ENUM_DECLARATION__LITERALS); + } + return literals; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_DECLARATION__NAME, oldName, + name)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.ENUM_DECLARATION__LITERALS: + return ((InternalEList) getLiterals()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.ENUM_DECLARATION__LITERALS: + return getLiterals(); + case SolverLanguagePackage.ENUM_DECLARATION__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.ENUM_DECLARATION__LITERALS: + getLiterals().clear(); + getLiterals().addAll((Collection) newValue); + return; + case SolverLanguagePackage.ENUM_DECLARATION__NAME: + setName((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ENUM_DECLARATION__LITERALS: + getLiterals().clear(); + return; + case SolverLanguagePackage.ENUM_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ENUM_DECLARATION__LITERALS: + return literals != null && !literals.isEmpty(); + case SolverLanguagePackage.ENUM_DECLARATION__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(); + } + +} //EnumDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java new file mode 100644 index 00000000..5b7f9cb1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumLiteralImpl.java @@ -0,0 +1,165 @@ +/** + */ +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.EnumLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Enum Literal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumLiteralImpl#getName Name}
  • + *
+ * + * @generated + */ +public class EnumLiteralImpl extends MinimalEObjectImpl.Container implements EnumLiteral { + /** + * 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 EnumLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.ENUM_LITERAL; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_LITERAL__NAME, oldName, + name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.ENUM_LITERAL__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.ENUM_LITERAL__NAME: + setName((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ENUM_LITERAL__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.ENUM_LITERAL__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(); + } + +} //EnumLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java new file mode 100644 index 00000000..f981aede --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java @@ -0,0 +1,164 @@ +/** + */ +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#getValue Value}
  • + *
+ * + * @generated + */ +public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity { + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final int VALUE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected int value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected ExactMultiplicityImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXACT_MULTIPLICITY; + } + + /** + * + * + * @generated + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(int newValue) { + int oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE, + oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE: + setValue((Integer) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_MULTIPLICITY__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(); + } + +} //ExactMultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java new file mode 100644 index 00000000..80b06171 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeImpl.java @@ -0,0 +1,164 @@ +/** + */ +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.ExactScope; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Exact Scope'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeImpl#getSize Size}
  • + *
+ * + * @generated + */ +public class ExactScopeImpl extends ScopeDeclarationImpl implements ExactScope { + /** + * The default value of the '{@link #getSize() Size}' attribute. + * + * + * @see #getSize() + * @generated + * @ordered + */ + protected static final int SIZE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getSize() Size}' attribute. + * + * + * @see #getSize() + * @generated + * @ordered + */ + protected int size = SIZE_EDEFAULT; + + /** + * + * + * @generated + */ + protected ExactScopeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXACT_SCOPE; + } + + /** + * + * + * @generated + */ + public int getSize() { + return size; + } + + /** + * + * + * @generated + */ + public void setSize(int newSize) { + int oldSize = size; + size = newSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE__SIZE, oldSize, + size)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE__SIZE: + return getSize(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE__SIZE: + setSize((Integer) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE__SIZE: + setSize(SIZE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXACT_SCOPE__SIZE: + return size != SIZE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (size: "); + result.append(size); + result.append(')'); + return result.toString(); + } + +} //ExactScopeImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java new file mode 100644 index 00000000..7e84a49a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java @@ -0,0 +1,182 @@ +/** + */ +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#getExpression Expression}
  • + *
+ * + * @generated + */ +public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument { + /** + * The cached value of the '{@link #getExpression() Expression}' containment reference. + * + * + * @see #getExpression() + * @generated + * @ordered + */ + protected Expression expression; + + /** + * + * + * @generated + */ + protected ExpressionArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT; + } + + /** + * + * + * @generated + */ + public Expression getExpression() { + return expression; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs) { + Expression oldExpression = expression; + expression = newExpression; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION, oldExpression, newExpression); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setExpression(Expression newExpression) { + if (newExpression != expression) { + NotificationChain msgs = null; + if (expression != null) + msgs = ((InternalEObject) expression).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION, null, msgs); + if (newExpression != null) + msgs = ((InternalEObject) newExpression).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION, null, msgs); + msgs = basicSetExpression(newExpression, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION, + newExpression, newExpression)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION: + return basicSetExpression(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__EXPRESSION: + return getExpression(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION: + setExpression((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION: + setExpression((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__EXPRESSION: + return expression != null; + } + return super.eIsSet(featureID); + } + +} //ExpressionArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java new file mode 100644 index 00000000..0b917b30 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java @@ -0,0 +1,151 @@ +/** + */ +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.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model object 'Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl#getExistsVariables Exists Variables}
  • + *
+ * + * @generated + */ +public abstract class ExpressionImpl extends StatementImpl implements Expression { + /** + * The cached value of the '{@link #getExistsVariables() Exists Variables}' containment reference list. + * + * + * @see #getExistsVariables() + * @generated + * @ordered + */ + protected EList existsVariables; + + /** + * + * + * @generated + */ + protected ExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXPRESSION; + } + + /** + * + * + * @generated + */ + public EList getExistsVariables() { + if (existsVariables == null) { + existsVariables = new EObjectContainmentEList(Variable.class, this, + SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES); + } + return existsVariables; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES: + return ((InternalEList) getExistsVariables()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES: + return getExistsVariables(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES: + getExistsVariables().clear(); + getExistsVariables().addAll((Collection) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES: + getExistsVariables().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXPRESSION__EXISTS_VARIABLES: + return existsVariables != null && !existsVariables.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java new file mode 100644 index 00000000..f3a34f73 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregationOperatorDeclarationImpl.java @@ -0,0 +1,227 @@ +/** + */ +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.ExternAggregationOperatorDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Extern Aggregation Operator Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl#getArgumentType Argument Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregationOperatorDeclarationImpl#getResultType Result Type}
  • + *
+ * + * @generated + */ +public class ExternAggregationOperatorDeclarationImpl extends ExternDeclarationImpl + implements ExternAggregationOperatorDeclaration { + /** + * The cached value of the '{@link #getArgumentType() Argument Type}' reference. + * + * + * @see #getArgumentType() + * @generated + * @ordered + */ + protected Symbol argumentType; + + /** + * The cached value of the '{@link #getResultType() Result Type}' reference. + * + * + * @see #getResultType() + * @generated + * @ordered + */ + protected Symbol resultType; + + /** + * + * + * @generated + */ + protected ExternAggregationOperatorDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION; + } + + /** + * + * + * @generated + */ + public Symbol getArgumentType() { + if (argumentType != null && argumentType.eIsProxy()) { + InternalEObject oldArgumentType = (InternalEObject) argumentType; + argumentType = (Symbol) eResolveProxy(oldArgumentType); + if (argumentType != oldArgumentType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE, + oldArgumentType, argumentType)); + } + } + return argumentType; + } + + /** + * + * + * @generated + */ + public Symbol basicGetArgumentType() { + return argumentType; + } + + /** + * + * + * @generated + */ + public void setArgumentType(Symbol newArgumentType) { + Symbol oldArgumentType = argumentType; + argumentType = newArgumentType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE, oldArgumentType, + argumentType)); + } + + /** + * + * + * @generated + */ + public Symbol getResultType() { + if (resultType != null && resultType.eIsProxy()) { + InternalEObject oldResultType = (InternalEObject) resultType; + resultType = (Symbol) eResolveProxy(oldResultType); + if (resultType != oldResultType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE, oldResultType, + resultType)); + } + } + return resultType; + } + + /** + * + * + * @generated + */ + public Symbol basicGetResultType() { + return resultType; + } + + /** + * + * + * @generated + */ + public void setResultType(Symbol newResultType) { + Symbol oldResultType = resultType; + resultType = newResultType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE, oldResultType, + resultType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE: + if (resolve) + return getArgumentType(); + return basicGetArgumentType(); + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE: + if (resolve) + return getResultType(); + return basicGetResultType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE: + setArgumentType((Symbol) newValue); + return; + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE: + setResultType((Symbol) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE: + setArgumentType((Symbol) null); + return; + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE: + setResultType((Symbol) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE: + return argumentType != null; + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE: + return resultType != null; + } + return super.eIsSet(featureID); + } + +} //ExternAggregationOperatorDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java new file mode 100644 index 00000000..f2411a6b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDeclarationImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Datatype Declaration'. + * + * + * @generated + */ +public class ExternDatatypeDeclarationImpl extends ExternDeclarationImpl implements ExternDatatypeDeclaration { + /** + * + * + * @generated + */ + protected ExternDatatypeDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_DATATYPE_DECLARATION; + } + +} //ExternDatatypeDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java new file mode 100644 index 00000000..4086decd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDeclarationImpl.java @@ -0,0 +1,164 @@ +/** + */ +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.ExternDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDeclarationImpl#getName Name}
  • + *
+ * + * @generated + */ +public abstract class ExternDeclarationImpl extends StatementImpl implements ExternDeclaration { + /** + * 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 ExternDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_DECLARATION; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_DECLARATION__NAME, + oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DECLARATION__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DECLARATION__NAME: + setName((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DECLARATION__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(); + } + +} //ExternDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java new file mode 100644 index 00000000..83ec9f13 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctionDeclarationImpl.java @@ -0,0 +1,159 @@ +/** + */ +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.ExternFunctionDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Extern Function Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctionDeclarationImpl#getResultType Result Type}
  • + *
+ * + * @generated + */ +public class ExternFunctionDeclarationImpl extends ExternFunctorDeclarationImpl implements ExternFunctionDeclaration { + /** + * The cached value of the '{@link #getResultType() Result Type}' reference. + * + * + * @see #getResultType() + * @generated + * @ordered + */ + protected Symbol resultType; + + /** + * + * + * @generated + */ + protected ExternFunctionDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION; + } + + /** + * + * + * @generated + */ + public Symbol getResultType() { + if (resultType != null && resultType.eIsProxy()) { + InternalEObject oldResultType = (InternalEObject) resultType; + resultType = (Symbol) eResolveProxy(oldResultType); + if (resultType != oldResultType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE, oldResultType, resultType)); + } + } + return resultType; + } + + /** + * + * + * @generated + */ + public Symbol basicGetResultType() { + return resultType; + } + + /** + * + * + * @generated + */ + public void setResultType(Symbol newResultType) { + Symbol oldResultType = resultType; + resultType = newResultType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE, oldResultType, resultType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE: + if (resolve) + return getResultType(); + return basicGetResultType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE: + setResultType((Symbol) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE: + setResultType((Symbol) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE: + return resultType != null; + } + return super.eIsSet(featureID); + } + +} //ExternFunctionDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java new file mode 100644 index 00000000..f3c58b99 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternFunctorDeclarationImpl.java @@ -0,0 +1,184 @@ +/** + */ +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.ExternFunctorDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Functor Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternFunctorDeclarationImpl#getArgumentList Argument List}
  • + *
+ * + * @generated + */ +public abstract class ExternFunctorDeclarationImpl extends ExternDeclarationImpl implements ExternFunctorDeclaration { + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * + * + * @generated + */ + protected ExternFunctorDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_FUNCTOR_DECLARATION; + } + + /** + * + * + * @generated + */ + 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_FUNCTOR_DECLARATION__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setArgumentList(ArgumentList newArgumentList) { + if (newArgumentList != argumentList) { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject) argumentList).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST, null, + msgs); + if (newArgumentList != null) + msgs = ((InternalEObject) newArgumentList).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST, null, + msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__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_FUNCTOR_DECLARATION__ARGUMENT_LIST: + return getArgumentList(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST: + setArgumentList((ArgumentList) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST: + setArgumentList((ArgumentList) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST: + return argumentList != null; + } + return super.eIsSet(featureID); + } + +} //ExternFunctorDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java new file mode 100644 index 00000000..fa6646bf --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDeclarationImpl.java @@ -0,0 +1,260 @@ +/** + */ +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.ExternPredicateDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Predicate Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDeclarationImpl#isError Error}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDeclarationImpl#isFunctional Functional}
  • + *
+ * + * @generated + */ +public class ExternPredicateDeclarationImpl extends ExternFunctorDeclarationImpl implements ExternPredicateDeclaration { + /** + * 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; + + /** + * 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; + + /** + * + * + * @generated + */ + protected ExternPredicateDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DECLARATION; + } + + /** + * + * + * @generated + */ + public boolean isError() { + return error; + } + + /** + * + * + * @generated + */ + public void setError(boolean newError) { + boolean oldError = error; + error = newError; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR, oldError, error)); + } + + /** + * + * + * @generated + */ + public boolean isFunctional() { + return functional; + } + + /** + * + * + * @generated + */ + public void setFunctional(boolean newFunctional) { + boolean oldFunctional = functional; + functional = newFunctional; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL, oldFunctional, functional)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR: + return isError(); + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL: + return isFunctional(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR: + setError((Boolean) newValue); + return; + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL: + setFunctional((Boolean) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR: + setError(ERROR_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL: + setFunctional(FUNCTIONAL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR: + return error != ERROR_EDEFAULT; + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL: + return functional != FUNCTIONAL_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) { + if (baseClass == InlinePredicateAttrributes.class) { + switch (derivedFeatureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR: + return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR; + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL: + return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL; + default: + return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) { + if (baseClass == InlinePredicateAttrributes.class) { + switch (baseFeatureID) { + case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR: + return SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__ERROR; + case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL: + return SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION__FUNCTIONAL; + default: + return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (error: "); + result.append(error); + result.append(", functional: "); + result.append(functional); + result.append(')'); + return result.toString(); + } + +} //ExternPredicateDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java new file mode 100644 index 00000000..20fc50b9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldImpl.java @@ -0,0 +1,488 @@ +/** + */ +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.Field; +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Field'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#isContainment Containment}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#isCrossReference Cross Reference}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getOpposite Opposite}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getMultiplicity Multiplicity}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldImpl#getName Name}
  • + *
+ * + * @generated + */ +public class FieldImpl extends MinimalEObjectImpl.Container implements Field { + /** + * 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 default value of the '{@link #isCrossReference() Cross Reference}' attribute. + * + * + * @see #isCrossReference() + * @generated + * @ordered + */ + protected static final boolean CROSS_REFERENCE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isCrossReference() Cross Reference}' attribute. + * + * + * @see #isCrossReference() + * @generated + * @ordered + */ + protected boolean crossReference = CROSS_REFERENCE_EDEFAULT; + + /** + * The cached value of the '{@link #getOpposite() Opposite}' reference. + * + * + * @see #getOpposite() + * @generated + * @ordered + */ + protected Symbol opposite; + + /** + * The cached value of the '{@link #getMultiplicity() Multiplicity}' containment reference. + * + * + * @see #getMultiplicity() + * @generated + * @ordered + */ + protected Multiplicity multiplicity; + + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Symbol 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; + + /** + * + * + * @generated + */ + protected FieldImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FIELD; + } + + /** + * + * + * @generated + */ + public boolean isContainment() { + return containment; + } + + /** + * + * + * @generated + */ + public void setContainment(boolean newContainment) { + boolean oldContainment = containment; + containment = newContainment; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__CONTAINMENT, + oldContainment, containment)); + } + + /** + * + * + * @generated + */ + public boolean isCrossReference() { + return crossReference; + } + + /** + * + * + * @generated + */ + public void setCrossReference(boolean newCrossReference) { + boolean oldCrossReference = crossReference; + crossReference = newCrossReference; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__CROSS_REFERENCE, + oldCrossReference, crossReference)); + } + + /** + * + * + * @generated + */ + public Symbol getOpposite() { + if (opposite != null && opposite.eIsProxy()) { + InternalEObject oldOpposite = (InternalEObject) opposite; + opposite = (Symbol) eResolveProxy(oldOpposite); + if (opposite != oldOpposite) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.FIELD__OPPOSITE, + oldOpposite, opposite)); + } + } + return opposite; + } + + /** + * + * + * @generated + */ + public Symbol basicGetOpposite() { + return opposite; + } + + /** + * + * + * @generated + */ + public void setOpposite(Symbol newOpposite) { + Symbol oldOpposite = opposite; + opposite = newOpposite; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__OPPOSITE, oldOpposite, + opposite)); + } + + /** + * + * + * @generated + */ + 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.FIELD__MULTIPLICITY, oldMultiplicity, newMultiplicity); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMultiplicity(Multiplicity newMultiplicity) { + if (newMultiplicity != multiplicity) { + NotificationChain msgs = null; + if (multiplicity != null) + msgs = ((InternalEObject) multiplicity).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD__MULTIPLICITY, null, msgs); + if (newMultiplicity != null) + msgs = ((InternalEObject) newMultiplicity).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD__MULTIPLICITY, null, msgs); + msgs = basicSetMultiplicity(newMultiplicity, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__MULTIPLICITY, + newMultiplicity, newMultiplicity)); + } + + /** + * + * + * @generated + */ + public Symbol getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject) type; + type = (Symbol) eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.FIELD__TYPE, + oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public Symbol basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + public void setType(Symbol newType) { + Symbol oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.FIELD__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.FIELD__CONTAINMENT: + return isContainment(); + case SolverLanguagePackage.FIELD__CROSS_REFERENCE: + return isCrossReference(); + case SolverLanguagePackage.FIELD__OPPOSITE: + if (resolve) + return getOpposite(); + return basicGetOpposite(); + case SolverLanguagePackage.FIELD__MULTIPLICITY: + return getMultiplicity(); + case SolverLanguagePackage.FIELD__TYPE: + if (resolve) + return getType(); + return basicGetType(); + case SolverLanguagePackage.FIELD__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.FIELD__CONTAINMENT: + setContainment((Boolean) newValue); + return; + case SolverLanguagePackage.FIELD__CROSS_REFERENCE: + setCrossReference((Boolean) newValue); + return; + case SolverLanguagePackage.FIELD__OPPOSITE: + setOpposite((Symbol) newValue); + return; + case SolverLanguagePackage.FIELD__MULTIPLICITY: + setMultiplicity((Multiplicity) newValue); + return; + case SolverLanguagePackage.FIELD__TYPE: + setType((Symbol) newValue); + return; + case SolverLanguagePackage.FIELD__NAME: + setName((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FIELD__CONTAINMENT: + setContainment(CONTAINMENT_EDEFAULT); + return; + case SolverLanguagePackage.FIELD__CROSS_REFERENCE: + setCrossReference(CROSS_REFERENCE_EDEFAULT); + return; + case SolverLanguagePackage.FIELD__OPPOSITE: + setOpposite((Symbol) null); + return; + case SolverLanguagePackage.FIELD__MULTIPLICITY: + setMultiplicity((Multiplicity) null); + return; + case SolverLanguagePackage.FIELD__TYPE: + setType((Symbol) null); + return; + case SolverLanguagePackage.FIELD__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FIELD__CONTAINMENT: + return containment != CONTAINMENT_EDEFAULT; + case SolverLanguagePackage.FIELD__CROSS_REFERENCE: + return crossReference != CROSS_REFERENCE_EDEFAULT; + case SolverLanguagePackage.FIELD__OPPOSITE: + return opposite != null; + case SolverLanguagePackage.FIELD__MULTIPLICITY: + return multiplicity != null; + case SolverLanguagePackage.FIELD__TYPE: + return type != null; + case SolverLanguagePackage.FIELD__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(" (containment: "); + result.append(containment); + result.append(", crossReference: "); + result.append(crossReference); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //FieldImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java new file mode 100644 index 00000000..0007f67f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ForallImpl.java @@ -0,0 +1,182 @@ +/** + */ +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.Forall; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Forall'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ForallImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class ForallImpl extends AggregateExpressionImpl implements Forall { + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected ForallImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FORALL; + } + + /** + * + * + * @generated + */ + 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.FORALL__BODY, oldBody, newBody); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject) body).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FORALL__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject) newBody).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FORALL__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FORALL__BODY, newBody, + newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.FORALL__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.FORALL__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.FORALL__BODY: + setBody((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FORALL__BODY: + setBody((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FORALL__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //ForallImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java new file mode 100644 index 00000000..9fa59d1c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionDefinitionImpl.java @@ -0,0 +1,159 @@ +/** + */ +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.FunctionDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Function Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionDefinitionImpl#getResultType Result Type}
  • + *
+ * + * @generated + */ +public class FunctionDefinitionImpl extends FunctorDefinitonImpl implements FunctionDefinition { + /** + * The cached value of the '{@link #getResultType() Result Type}' reference. + * + * + * @see #getResultType() + * @generated + * @ordered + */ + protected Symbol resultType; + + /** + * + * + * @generated + */ + protected FunctionDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FUNCTION_DEFINITION; + } + + /** + * + * + * @generated + */ + public Symbol getResultType() { + if (resultType != null && resultType.eIsProxy()) { + InternalEObject oldResultType = (InternalEObject) resultType; + resultType = (Symbol) eResolveProxy(oldResultType); + if (resultType != oldResultType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE, oldResultType, resultType)); + } + } + return resultType; + } + + /** + * + * + * @generated + */ + public Symbol basicGetResultType() { + return resultType; + } + + /** + * + * + * @generated + */ + public void setResultType(Symbol newResultType) { + Symbol oldResultType = resultType; + resultType = newResultType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE, oldResultType, resultType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE: + if (resolve) + return getResultType(); + return basicGetResultType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE: + setResultType((Symbol) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE: + setResultType((Symbol) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION_DEFINITION__RESULT_TYPE: + return resultType != null; + } + return super.eIsSet(featureID); + } + +} //FunctionDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java new file mode 100644 index 00000000..2a3e7e8b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctionImpl.java @@ -0,0 +1,159 @@ +/** + */ +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.Datatype; +import org.eclipse.viatra.solver.language.solverLanguage.Function; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Function'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctionImpl#getResultType Result Type}
  • + *
+ * + * @generated + */ +public abstract class FunctionImpl extends FunctorImpl implements Function { + /** + * The cached value of the '{@link #getResultType() Result Type}' reference. + * + * + * @see #getResultType() + * @generated + * @ordered + */ + protected Datatype resultType; + + /** + * + * + * @generated + */ + protected FunctionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FUNCTION; + } + + /** + * + * + * @generated + */ + public Datatype getResultType() { + if (resultType != null && resultType.eIsProxy()) { + InternalEObject oldResultType = (InternalEObject) resultType; + resultType = (Datatype) eResolveProxy(oldResultType); + if (resultType != oldResultType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.FUNCTION__RESULT_TYPE, oldResultType, resultType)); + } + } + return resultType; + } + + /** + * + * + * @generated + */ + public Datatype basicGetResultType() { + return resultType; + } + + /** + * + * + * @generated + */ + public void setResultType(Datatype newResultType) { + Datatype oldResultType = resultType; + resultType = newResultType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FUNCTION__RESULT_TYPE, + oldResultType, resultType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION__RESULT_TYPE: + if (resolve) + return getResultType(); + return basicGetResultType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION__RESULT_TYPE: + setResultType((Datatype) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION__RESULT_TYPE: + setResultType((Datatype) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTION__RESULT_TYPE: + return resultType != null; + } + return super.eIsSet(featureID); + } + +} //FunctionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java new file mode 100644 index 00000000..0dff447f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorDefinitonImpl.java @@ -0,0 +1,255 @@ +/** + */ +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.FunctorDefiniton; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Functor Definiton'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorDefinitonImpl#getBody Body}
  • + *
+ * + * @generated + */ +public abstract class FunctorDefinitonImpl extends StatementImpl implements FunctorDefiniton { + /** + * 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; + + /** + * + * + * @generated + */ + protected FunctorDefinitonImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FUNCTOR_DEFINITON; + } + + /** + * + * + * @generated + */ + 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.FUNCTOR_DEFINITON__HEAD, oldHead, newHead); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setHead(Expression newHead) { + if (newHead != head) { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject) head).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject) newHead).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD, + newHead, newHead)); + } + + /** + * + * + * @generated + */ + 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.FUNCTOR_DEFINITON__BODY, oldBody, newBody); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject) body).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject) newBody).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FUNCTOR_DEFINITON__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FUNCTOR_DEFINITON__BODY, + newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD: + return basicSetHead(null, msgs); + case SolverLanguagePackage.FUNCTOR_DEFINITON__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.FUNCTOR_DEFINITON__HEAD: + return getHead(); + case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD: + setHead((Expression) newValue); + return; + case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY: + setBody((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD: + setHead((Expression) null); + return; + case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY: + setBody((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR_DEFINITON__HEAD: + return head != null; + case SolverLanguagePackage.FUNCTOR_DEFINITON__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //FunctorDefinitonImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java new file mode 100644 index 00000000..f0003552 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java @@ -0,0 +1,151 @@ +/** + */ +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.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 SymbolImpl implements Functor { + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * + * + * @generated + */ + protected FunctorImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FUNCTOR; + } + + /** + * + * + * @generated + */ + public EList getParameters() { + if (parameters == null) { + parameters = new EObjectContainmentEList(Variable.class, this, + SolverLanguagePackage.FUNCTOR__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + return ((InternalEList) getParameters()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java new file mode 100644 index 00000000..5d37e837 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ImportImpl.java @@ -0,0 +1,165 @@ +/** + */ +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.Import; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Import'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ImportImpl#getAlias Alias}
  • + *
+ * + * @generated + */ +public class ImportImpl extends MinimalEObjectImpl.Container implements Import { + /** + * The default value of the '{@link #getAlias() Alias}' attribute. + * + * + * @see #getAlias() + * @generated + * @ordered + */ + protected static final String ALIAS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAlias() Alias}' attribute. + * + * + * @see #getAlias() + * @generated + * @ordered + */ + protected String alias = ALIAS_EDEFAULT; + + /** + * + * + * @generated + */ + protected ImportImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.IMPORT; + } + + /** + * + * + * @generated + */ + public String getAlias() { + return alias; + } + + /** + * + * + * @generated + */ + public void setAlias(String newAlias) { + String oldAlias = alias; + alias = newAlias; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IMPORT__ALIAS, oldAlias, + alias)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.IMPORT__ALIAS: + return getAlias(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.IMPORT__ALIAS: + setAlias((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.IMPORT__ALIAS: + setAlias(ALIAS_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.IMPORT__ALIAS: + return ALIAS_EDEFAULT == null ? alias != null : !ALIAS_EDEFAULT.equals(alias); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (alias: "); + result.append(alias); + result.append(')'); + return result.toString(); + } + +} //ImportImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java new file mode 100644 index 00000000..ab6025ff --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java @@ -0,0 +1,37 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java new file mode 100644 index 00000000..0e247f42 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntLiteralImpl.java @@ -0,0 +1,164 @@ +/** + */ +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.IntLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Int Literal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntLiteralImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class IntLiteralImpl extends LiteralImpl implements IntLiteral { + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final int VALUE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected int value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected IntLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.INT_LITERAL; + } + + /** + * + * + * @generated + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(int newValue) { + int oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INT_LITERAL__VALUE, oldValue, + value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.INT_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.INT_LITERAL__VALUE: + setValue((Integer) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INT_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INT_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(); + } + +} //IntLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java new file mode 100644 index 00000000..d599db6d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java @@ -0,0 +1,255 @@ +/** + */ +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 + */ + 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 + */ + 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 + */ + 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 + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java new file mode 100644 index 00000000..1f724c55 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java @@ -0,0 +1,391 @@ +/** + */ +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.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model object 'Let Binding'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getValue Value}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getVariable Variable}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getType Type}
  • + *
+ * + * @generated + */ +public class LetBindingImpl extends MinimalEObjectImpl.Container implements LetBinding { + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * The cached value of the '{@link #getVariable() Variable}' containment reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected Variable variable; + + /** + * 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 #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Symbol type; + + /** + * + * + * @generated + */ + protected LetBindingImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LET_BINDING; + } + + /** + * + * + * @generated + */ + 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 + */ + 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 + */ + public Variable getVariable() { + return variable; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetVariable(Variable newVariable, NotificationChain msgs) { + Variable 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 + */ + public void setVariable(Variable 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 + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__NAME, oldName, + name)); + } + + /** + * + * + * @generated + */ + public Symbol getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject) type; + type = (Symbol) eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.LET_BINDING__TYPE, + oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public Symbol basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + public void setType(Symbol newType) { + Symbol oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__TYPE, oldType, + type)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VALUE: + return basicSetValue(null, msgs); + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return basicSetVariable(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__VALUE: + return getValue(); + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return getVariable(); + case SolverLanguagePackage.LET_BINDING__NAME: + return getName(); + case SolverLanguagePackage.LET_BINDING__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.LET_BINDING__VALUE: + setValue((Expression) newValue); + return; + case SolverLanguagePackage.LET_BINDING__VARIABLE: + setVariable((Variable) newValue); + return; + case SolverLanguagePackage.LET_BINDING__NAME: + setName((String) newValue); + return; + case SolverLanguagePackage.LET_BINDING__TYPE: + setType((Symbol) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VALUE: + setValue((Expression) null); + return; + case SolverLanguagePackage.LET_BINDING__VARIABLE: + setVariable((Variable) null); + return; + case SolverLanguagePackage.LET_BINDING__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.LET_BINDING__TYPE: + setType((Symbol) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VALUE: + return value != null; + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return variable != null; + case SolverLanguagePackage.LET_BINDING__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.LET_BINDING__TYPE: + return type != 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(); + } + +} //LetBindingImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java new file mode 100644 index 00000000..2aa319c6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetExpressionImpl.java @@ -0,0 +1,228 @@ +/** + */ +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.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.LetExpression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Let Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetExpressionImpl#getBindings Bindings}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetExpressionImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class LetExpressionImpl extends ExpressionImpl implements LetExpression { + /** + * 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 LetExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LET_EXPRESSION; + } + + /** + * + * + * @generated + */ + public EList getBindings() { + if (bindings == null) { + bindings = new EObjectContainmentEList(LetBinding.class, this, + SolverLanguagePackage.LET_EXPRESSION__BINDINGS); + } + return bindings; + } + + /** + * + * + * @generated + */ + 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_EXPRESSION__BODY, oldBody, newBody); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Expression newBody) { + if (newBody != body) { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject) body).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_EXPRESSION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject) newBody).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_EXPRESSION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_EXPRESSION__BODY, newBody, + newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LET_EXPRESSION__BINDINGS: + return ((InternalEList) getBindings()).basicRemove(otherEnd, msgs); + case SolverLanguagePackage.LET_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.LET_EXPRESSION__BINDINGS: + return getBindings(); + case SolverLanguagePackage.LET_EXPRESSION__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_EXPRESSION__BINDINGS: + getBindings().clear(); + getBindings().addAll((Collection) newValue); + return; + case SolverLanguagePackage.LET_EXPRESSION__BODY: + setBody((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_EXPRESSION__BINDINGS: + getBindings().clear(); + return; + case SolverLanguagePackage.LET_EXPRESSION__BODY: + setBody((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_EXPRESSION__BINDINGS: + return bindings != null && !bindings.isEmpty(); + case SolverLanguagePackage.LET_EXPRESSION__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //LetExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java new file mode 100644 index 00000000..4222a258 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java @@ -0,0 +1,37 @@ +/** + */ +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 abstract 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java new file mode 100644 index 00000000..6eb60cd5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java @@ -0,0 +1,165 @@ +/** + */ +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.UNKNOWN; + + /** + * 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 + */ + public LogicValue getValue() { + return value; + } + + /** + * + * + * @generated + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java new file mode 100644 index 00000000..56716e2c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeImpl.java @@ -0,0 +1,164 @@ +/** + */ +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.LowerBoundedScope; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Lower Bounded Scope'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeImpl#getLowerBound Lower Bound}
  • + *
+ * + * @generated + */ +public class LowerBoundedScopeImpl extends ScopeDeclarationImpl implements LowerBoundedScope { + /** + * 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 LowerBoundedScopeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE; + } + + /** + * + * + * @generated + */ + public int getLowerBound() { + return lowerBound; + } + + /** + * + * + * @generated + */ + public void setLowerBound(int newLowerBound) { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.LOWER_BOUNDED_SCOPE__LOWER_BOUND, oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE__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__LOWER_BOUND: + setLowerBound((Integer) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE__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(); + } + +} //LowerBoundedScopeImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java new file mode 100644 index 00000000..0dfc03a6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Metric; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Metric'. + * + * + * @generated + */ +public class MetricImpl extends FunctionImpl implements Metric { + /** + * + * + * @generated + */ + protected MetricImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.METRIC; + } + +} //MetricImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java new file mode 100644 index 00000000..75d28976 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiaryExpessionImpl.java @@ -0,0 +1,151 @@ +/** + */ +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.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Multiary Expession'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiaryExpessionImpl#getChildren Children}
  • + *
+ * + * @generated + */ +public abstract class MultiaryExpessionImpl extends ExpressionImpl implements MultiaryExpession { + /** + * The cached value of the '{@link #getChildren() Children}' containment reference list. + * + * + * @see #getChildren() + * @generated + * @ordered + */ + protected EList children; + + /** + * + * + * @generated + */ + protected MultiaryExpessionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.MULTIARY_EXPESSION; + } + + /** + * + * + * @generated + */ + public EList getChildren() { + if (children == null) { + children = new EObjectContainmentEList(Expression.class, this, + SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN); + } + return children; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.MULTIARY_EXPESSION__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.MULTIARY_EXPESSION__CHILDREN: + return getChildren(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN: + getChildren().clear(); + getChildren().addAll((Collection) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN: + getChildren().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.MULTIARY_EXPESSION__CHILDREN: + return children != null && !children.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //MultiaryExpessionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java new file mode 100644 index 00000000..1f8c27a4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java @@ -0,0 +1,39 @@ +/** + */ +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 abstract 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java new file mode 100644 index 00000000..24ac11e5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamespaceImportImpl.java @@ -0,0 +1,166 @@ +/** + */ +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.NamespaceImport; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Namespace Import'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamespaceImportImpl#getImportedNamespace Imported Namespace}
  • + *
+ * + * @generated + */ +public class NamespaceImportImpl extends ImportImpl implements NamespaceImport { + /** + * The default value of the '{@link #getImportedNamespace() Imported Namespace}' attribute. + * + * + * @see #getImportedNamespace() + * @generated + * @ordered + */ + protected static final String IMPORTED_NAMESPACE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getImportedNamespace() Imported Namespace}' attribute. + * + * + * @see #getImportedNamespace() + * @generated + * @ordered + */ + protected String importedNamespace = IMPORTED_NAMESPACE_EDEFAULT; + + /** + * + * + * @generated + */ + protected NamespaceImportImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.NAMESPACE_IMPORT; + } + + /** + * + * + * @generated + */ + public String getImportedNamespace() { + return importedNamespace; + } + + /** + * + * + * @generated + */ + public void setImportedNamespace(String newImportedNamespace) { + String oldImportedNamespace = importedNamespace; + importedNamespace = newImportedNamespace; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE, oldImportedNamespace, + importedNamespace)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE: + return getImportedNamespace(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE: + setImportedNamespace((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE: + setImportedNamespace(IMPORTED_NAMESPACE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NAMESPACE_IMPORT__IMPORTED_NAMESPACE: + return IMPORTED_NAMESPACE_EDEFAULT == null ? importedNamespace != null + : !IMPORTED_NAMESPACE_EDEFAULT.equals(importedNamespace); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (importedNamespace: "); + result.append(importedNamespace); + result.append(')'); + return result.toString(); + } + +} //NamespaceImportImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java new file mode 100644 index 00000000..7307fada --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java @@ -0,0 +1,163 @@ +/** + */ +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#isNamed Named}
  • + *
+ * + * @generated + */ +public class NodeImpl extends SymbolImpl implements Node { + /** + * The default value of the '{@link #isNamed() Named}' attribute. + * + * + * @see #isNamed() + * @generated + * @ordered + */ + protected static final boolean NAMED_EDEFAULT = false; + + /** + * The cached value of the '{@link #isNamed() Named}' attribute. + * + * + * @see #isNamed() + * @generated + * @ordered + */ + protected boolean named = NAMED_EDEFAULT; + + /** + * + * + * @generated + */ + protected NodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.NODE; + } + + /** + * + * + * @generated + */ + public boolean isNamed() { + return named; + } + + /** + * + * + * @generated + */ + public void setNamed(boolean newNamed) { + boolean oldNamed = named; + named = newNamed; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NODE__NAMED, oldNamed, named)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.NODE__NAMED: + return isNamed(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.NODE__NAMED: + setNamed((Boolean) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NODE__NAMED: + setNamed(NAMED_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NODE__NAMED: + return named != NAMED_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (named: "); + result.append(named); + result.append(')'); + return result.toString(); + } + +} //NodeImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java new file mode 100644 index 00000000..541c06ec --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDeclarationImpl.java @@ -0,0 +1,253 @@ +/** + */ +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.ObjectiveDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Objective Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDeclarationImpl#getKind Kind}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDeclarationImpl#getObjective Objective}
  • + *
+ * + * @generated + */ +public class ObjectiveDeclarationImpl extends StatementImpl implements ObjectiveDeclaration { + /** + * The default value of the '{@link #getKind() Kind}' attribute. + * + * + * @see #getKind() + * @generated + * @ordered + */ + protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZATION; + + /** + * 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 ObjectiveDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION; + } + + /** + * + * + * @generated + */ + public ObjectiveKind getKind() { + return kind; + } + + /** + * + * + * @generated + */ + public void setKind(ObjectiveKind newKind) { + ObjectiveKind oldKind = kind; + kind = newKind == null ? KIND_EDEFAULT : newKind; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND, + oldKind, kind)); + } + + /** + * + * + * @generated + */ + 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_DECLARATION__OBJECTIVE, oldObjective, newObjective); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setObjective(Expression newObjective) { + if (newObjective != objective) { + NotificationChain msgs = null; + if (objective != null) + msgs = ((InternalEObject) objective).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE, null, msgs); + if (newObjective != null) + msgs = ((InternalEObject) newObjective).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE, null, msgs); + msgs = basicSetObjective(newObjective, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE, newObjective, newObjective)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DECLARATION__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_DECLARATION__KIND: + return getKind(); + case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE: + return getObjective(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND: + setKind((ObjectiveKind) newValue); + return; + case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE: + setObjective((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND: + setKind(KIND_EDEFAULT); + return; + case SolverLanguagePackage.OBJECTIVE_DECLARATION__OBJECTIVE: + setObjective((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.OBJECTIVE_DECLARATION__KIND: + return kind != KIND_EDEFAULT; + case SolverLanguagePackage.OBJECTIVE_DECLARATION__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(); + } + +} //ObjectiveDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java new file mode 100644 index 00000000..13f190c9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/OperatorImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Operator; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Operator'. + * + * + * @generated + */ +public class OperatorImpl extends FunctionImpl implements Operator { + /** + * + * + * @generated + */ + protected OperatorImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.OPERATOR; + } + +} //OperatorImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java new file mode 100644 index 00000000..afad504d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PathComponentImpl.java @@ -0,0 +1,341 @@ +/** + */ +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.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.PathComponent; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Path Component'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#getSymbol Symbol}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#isInverse Inverse}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#isTransitiveClosure Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PathComponentImpl#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
+ * + * @generated + */ +public class PathComponentImpl extends MinimalEObjectImpl.Container implements PathComponent { + /** + * The cached value of the '{@link #getSymbol() Symbol}' reference. + * + * + * @see #getSymbol() + * @generated + * @ordered + */ + protected Symbol symbol; + + /** + * The default value of the '{@link #isInverse() Inverse}' attribute. + * + * + * @see #isInverse() + * @generated + * @ordered + */ + protected static final boolean INVERSE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isInverse() Inverse}' attribute. + * + * + * @see #isInverse() + * @generated + * @ordered + */ + protected boolean inverse = INVERSE_EDEFAULT; + + /** + * 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; + + /** + * + * + * @generated + */ + protected PathComponentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PATH_COMPONENT; + } + + /** + * + * + * @generated + */ + public Symbol getSymbol() { + if (symbol != null && symbol.eIsProxy()) { + InternalEObject oldSymbol = (InternalEObject) symbol; + symbol = (Symbol) eResolveProxy(oldSymbol); + if (symbol != oldSymbol) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.PATH_COMPONENT__SYMBOL, oldSymbol, symbol)); + } + } + return symbol; + } + + /** + * + * + * @generated + */ + public Symbol basicGetSymbol() { + return symbol; + } + + /** + * + * + * @generated + */ + public void setSymbol(Symbol newSymbol) { + Symbol oldSymbol = symbol; + symbol = newSymbol; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PATH_COMPONENT__SYMBOL, + oldSymbol, symbol)); + } + + /** + * + * + * @generated + */ + public boolean isInverse() { + return inverse; + } + + /** + * + * + * @generated + */ + public void setInverse(boolean newInverse) { + boolean oldInverse = inverse; + inverse = newInverse; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PATH_COMPONENT__INVERSE, + oldInverse, inverse)); + } + + /** + * + * + * @generated + */ + public boolean isTransitiveClosure() { + return transitiveClosure; + } + + /** + * + * + * @generated + */ + public void setTransitiveClosure(boolean newTransitiveClosure) { + boolean oldTransitiveClosure = transitiveClosure; + transitiveClosure = newTransitiveClosure; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure)); + } + + /** + * + * + * @generated + */ + public boolean isReflexiveTransitiveClosure() { + return reflexiveTransitiveClosure; + } + + /** + * + * + * @generated + */ + public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) { + boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure; + reflexiveTransitiveClosure = newReflexiveTransitiveClosure; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, + reflexiveTransitiveClosure)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.PATH_COMPONENT__SYMBOL: + if (resolve) + return getSymbol(); + return basicGetSymbol(); + case SolverLanguagePackage.PATH_COMPONENT__INVERSE: + return isInverse(); + case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE: + return isTransitiveClosure(); + case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE: + return isReflexiveTransitiveClosure(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.PATH_COMPONENT__SYMBOL: + setSymbol((Symbol) newValue); + return; + case SolverLanguagePackage.PATH_COMPONENT__INVERSE: + setInverse((Boolean) newValue); + return; + case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE: + setTransitiveClosure((Boolean) newValue); + return; + case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure((Boolean) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PATH_COMPONENT__SYMBOL: + setSymbol((Symbol) null); + return; + case SolverLanguagePackage.PATH_COMPONENT__INVERSE: + setInverse(INVERSE_EDEFAULT); + return; + case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE: + setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); + return; + case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PATH_COMPONENT__SYMBOL: + return symbol != null; + case SolverLanguagePackage.PATH_COMPONENT__INVERSE: + return inverse != INVERSE_EDEFAULT; + case SolverLanguagePackage.PATH_COMPONENT__TRANSITIVE_CLOSURE: + return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; + case SolverLanguagePackage.PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE: + return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (inverse: "); + result.append(inverse); + result.append(", transitiveClosure: "); + result.append(transitiveClosure); + result.append(", reflexiveTransitiveClosure: "); + result.append(reflexiveTransitiveClosure); + result.append(')'); + return result.toString(); + } + +} //PathComponentImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java new file mode 100644 index 00000000..c6afa7f5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java @@ -0,0 +1,260 @@ +/** + */ +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.InlinePredicateAttrributes; +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#isError Error}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isFunctional Functional}
  • + *
+ * + * @generated + */ +public class PredicateDefinitionImpl extends FunctorDefinitonImpl implements PredicateDefinition { + /** + * 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; + + /** + * 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; + + /** + * + * + * @generated + */ + protected PredicateDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PREDICATE_DEFINITION; + } + + /** + * + * + * @generated + */ + public boolean isError() { + return error; + } + + /** + * + * + * @generated + */ + 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 + */ + public boolean isFunctional() { + return functional; + } + + /** + * + * + * @generated + */ + 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 Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + return isError(); + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + return isFunctional(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + setError((Boolean) newValue); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + setFunctional((Boolean) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + setError(ERROR_EDEFAULT); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + setFunctional(FUNCTIONAL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + return error != ERROR_EDEFAULT; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + return functional != FUNCTIONAL_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) { + if (baseClass == InlinePredicateAttrributes.class) { + switch (derivedFeatureID) { + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + return SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL; + default: + return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) { + if (baseClass == InlinePredicateAttrributes.class) { + switch (baseFeatureID) { + case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__ERROR: + return SolverLanguagePackage.PREDICATE_DEFINITION__ERROR; + case SolverLanguagePackage.INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL: + return SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL; + default: + return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (error: "); + result.append(error); + result.append(", functional: "); + result.append(functional); + result.append(')'); + return result.toString(); + } + +} //PredicateDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java new file mode 100644 index 00000000..316217af --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java @@ -0,0 +1,37 @@ +/** + */ +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 RelationImpl 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java new file mode 100644 index 00000000..08cec167 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java @@ -0,0 +1,298 @@ +/** + */ +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Import; +import org.eclipse.viatra.solver.language.solverLanguage.Problem; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Statement; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Problem'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements Statements}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getSymbols Symbols}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getImports Imports}
  • + *
+ * + * @generated + */ +public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem { + /** + * 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 #getStatements() Statements}' containment reference list. + * + * + * @see #getStatements() + * @generated + * @ordered + */ + protected EList statements; + + /** + * The cached value of the '{@link #getSymbols() Symbols}' containment reference list. + * + * + * @see #getSymbols() + * @generated + * @ordered + */ + protected EList symbols; + + /** + * The cached value of the '{@link #getImports() Imports}' containment reference list. + * + * + * @see #getImports() + * @generated + * @ordered + */ + protected EList imports; + + /** + * + * + * @generated + */ + protected ProblemImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PROBLEM; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PROBLEM__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public EList getStatements() { + if (statements == null) { + statements = new EObjectContainmentEList(Statement.class, this, + SolverLanguagePackage.PROBLEM__STATEMENTS); + } + return statements; + } + + /** + * + * + * @generated + */ + public EList getSymbols() { + if (symbols == null) { + symbols = new EObjectContainmentEList(Symbol.class, this, SolverLanguagePackage.PROBLEM__SYMBOLS); + } + return symbols; + } + + /** + * + * + * @generated + */ + public EList getImports() { + if (imports == null) { + imports = new EObjectContainmentEList(Import.class, this, SolverLanguagePackage.PROBLEM__IMPORTS); + } + return imports; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return ((InternalEList) getStatements()).basicRemove(otherEnd, msgs); + case SolverLanguagePackage.PROBLEM__SYMBOLS: + return ((InternalEList) getSymbols()).basicRemove(otherEnd, msgs); + case SolverLanguagePackage.PROBLEM__IMPORTS: + return ((InternalEList) getImports()).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__NAME: + return getName(); + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return getStatements(); + case SolverLanguagePackage.PROBLEM__SYMBOLS: + return getSymbols(); + case SolverLanguagePackage.PROBLEM__IMPORTS: + return getImports(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__NAME: + setName((String) newValue); + return; + case SolverLanguagePackage.PROBLEM__STATEMENTS: + getStatements().clear(); + getStatements().addAll((Collection) newValue); + return; + case SolverLanguagePackage.PROBLEM__SYMBOLS: + getSymbols().clear(); + getSymbols().addAll((Collection) newValue); + return; + case SolverLanguagePackage.PROBLEM__IMPORTS: + getImports().clear(); + getImports().addAll((Collection) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.PROBLEM__STATEMENTS: + getStatements().clear(); + return; + case SolverLanguagePackage.PROBLEM__SYMBOLS: + getSymbols().clear(); + return; + case SolverLanguagePackage.PROBLEM__IMPORTS: + getImports().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return statements != null && !statements.isEmpty(); + case SolverLanguagePackage.PROBLEM__SYMBOLS: + return symbols != null && !symbols.isEmpty(); + case SolverLanguagePackage.PROBLEM__IMPORTS: + return imports != null && !imports.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(); + } + +} //ProblemImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java new file mode 100644 index 00000000..7ab526b6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealLiteralImpl.java @@ -0,0 +1,166 @@ +/** + */ +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.RealLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Real Literal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealLiteralImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class RealLiteralImpl extends LiteralImpl implements RealLiteral { + /** + * 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 RealLiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.REAL_LITERAL; + } + + /** + * + * + * @generated + */ + public BigDecimal getValue() { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(BigDecimal newValue) { + BigDecimal oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REAL_LITERAL__VALUE, oldValue, + value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.REAL_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.REAL_LITERAL__VALUE: + setValue((BigDecimal) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.REAL_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.REAL_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(); + } + +} //RealLiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java new file mode 100644 index 00000000..6224f3aa --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java @@ -0,0 +1,151 @@ +/** + */ +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.PathComponent; +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#getComponents Components}
  • + *
+ * + * @generated + */ +public class ReferenceImpl extends ExpressionImpl implements Reference { + /** + * The cached value of the '{@link #getComponents() Components}' containment reference list. + * + * + * @see #getComponents() + * @generated + * @ordered + */ + protected EList components; + + /** + * + * + * @generated + */ + protected ReferenceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.REFERENCE; + } + + /** + * + * + * @generated + */ + public EList getComponents() { + if (components == null) { + components = new EObjectContainmentEList(PathComponent.class, this, + SolverLanguagePackage.REFERENCE__COMPONENTS); + } + return components; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__COMPONENTS: + return ((InternalEList) getComponents()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__COMPONENTS: + return getComponents(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__COMPONENTS: + getComponents().clear(); + getComponents().addAll((Collection) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__COMPONENTS: + getComponents().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.REFERENCE__COMPONENTS: + return components != null && !components.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ReferenceImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java new file mode 100644 index 00000000..9c612858 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RelationImpl.java @@ -0,0 +1,37 @@ +/** + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Relation; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Relation'. + * + * + * @generated + */ +public abstract class RelationImpl extends FunctorImpl implements Relation { + /** + * + * + * @generated + */ + protected RelationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.RELATION; + } + +} //RelationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java new file mode 100644 index 00000000..31c2fa9f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDeclarationImpl.java @@ -0,0 +1,159 @@ +/** + */ +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.ScopeDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Scope Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDeclarationImpl#getType Type}
  • + *
+ * + * @generated + */ +public class ScopeDeclarationImpl extends StatementImpl implements ScopeDeclaration { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Symbol type; + + /** + * + * + * @generated + */ + protected ScopeDeclarationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.SCOPE_DECLARATION; + } + + /** + * + * + * @generated + */ + public Symbol getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject) type; + type = (Symbol) eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.SCOPE_DECLARATION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public Symbol basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + public void setType(Symbol newType) { + Symbol oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DECLARATION__TYPE, + oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.SCOPE_DECLARATION__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_DECLARATION__TYPE: + setType((Symbol) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SCOPE_DECLARATION__TYPE: + setType((Symbol) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SCOPE_DECLARATION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //ScopeDeclarationImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java new file mode 100644 index 00000000..96e741b9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java @@ -0,0 +1,985 @@ +/** + */ +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.PATH_COMPONENT: + return createPathComponent(); + case SolverLanguagePackage.CALL: + return createCall(); + case SolverLanguagePackage.REFERENCE: + return createReference(); + case SolverLanguagePackage.ARGUMENT_LIST: + return createArgumentList(); + case SolverLanguagePackage.EXPRESSION_ARGUMENT: + return createExpressionArgument(); + case SolverLanguagePackage.STAR_ARGUMENT: + return createStarArgument(); + case SolverLanguagePackage.VARIABLE: + return createVariable(); + case SolverLanguagePackage.UNARY_EXPRESSION: + return createUnaryExpression(); + case SolverLanguagePackage.BINARY_EXPRESSION: + return createBinaryExpression(); + case SolverLanguagePackage.DISJUNCTION: + return createDisjunction(); + case SolverLanguagePackage.CONJUNCTION: + return createConjunction(); + case SolverLanguagePackage.CONDITIONAL_EXPRESSION: + return createConditionalExpression(); + case SolverLanguagePackage.SWITCH: + return createSwitch(); + case SolverLanguagePackage.CASE: + return createCase(); + case SolverLanguagePackage.LET_EXPRESSION: + return createLetExpression(); + case SolverLanguagePackage.LET_BINDING: + return createLetBinding(); + case SolverLanguagePackage.INT_LITERAL: + return createIntLiteral(); + case SolverLanguagePackage.REAL_LITERAL: + return createRealLiteral(); + case SolverLanguagePackage.STRING_LITERAL: + return createStringLiteral(); + case SolverLanguagePackage.LOGIC_LITERAL: + return createLogicLiteral(); + case SolverLanguagePackage.EMPTY_LITERAL: + return createEmptyLiteral(); + case SolverLanguagePackage.CAST_EXPRESSION: + return createCastExpression(); + case SolverLanguagePackage.COUNT: + return createCount(); + case SolverLanguagePackage.AGGREGATION: + return createAggregation(); + case SolverLanguagePackage.FORALL: + return createForall(); + case SolverLanguagePackage.TYPE_REFERENCE: + return createTypeReference(); + case SolverLanguagePackage.INFINITY_LITERAL: + return createInfinityLiteral(); + case SolverLanguagePackage.INTERVAL: + return createInterval(); + case SolverLanguagePackage.BASE_RELATION: + return createBaseRelation(); + case SolverLanguagePackage.PREDICATE: + return createPredicate(); + case SolverLanguagePackage.DATATYPE: + return createDatatype(); + case SolverLanguagePackage.METRIC: + return createMetric(); + case SolverLanguagePackage.OPERATOR: + return createOperator(); + case SolverLanguagePackage.NODE: + return createNode(); + case SolverLanguagePackage.PREDICATE_DEFINITION: + return createPredicateDefinition(); + case SolverLanguagePackage.FUNCTION_DEFINITION: + return createFunctionDefinition(); + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION: + return createExternPredicateDeclaration(); + case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION: + return createExternFunctionDeclaration(); + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION: + return createExternAggregationOperatorDeclaration(); + case SolverLanguagePackage.EXTERN_DATATYPE_DECLARATION: + return createExternDatatypeDeclaration(); + case SolverLanguagePackage.CLASS_DECLARATION: + return createClassDeclaration(); + case SolverLanguagePackage.ENUM_DECLARATION: + return createEnumDeclaration(); + case SolverLanguagePackage.ENUM_LITERAL: + return createEnumLiteral(); + case SolverLanguagePackage.FIELD: + return createField(); + case SolverLanguagePackage.DEFAULT_ASSERTION: + return createDefaultAssertion(); + case SolverLanguagePackage.ASSERTION: + return createAssertion(); + case SolverLanguagePackage.UNBOUNDED_MULTIPLICITY: + return createUnboundedMultiplicity(); + case SolverLanguagePackage.EXACT_MULTIPLICITY: + return createExactMultiplicity(); + case SolverLanguagePackage.BOUNDED_MULTIPLICITY: + return createBoundedMultiplicity(); + case SolverLanguagePackage.AGGREGATION_OPERATOR: + return createAggregationOperator(); + case SolverLanguagePackage.PROBLEM: + return createProblem(); + case SolverLanguagePackage.TYPED_STAR_ARGUMENT: + return createTypedStarArgument(); + case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT: + return createTypedVariableArgument(); + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION: + return createUnnamedErrorPredicateDefintion(); + case SolverLanguagePackage.OBJECTIVE_DECLARATION: + return createObjectiveDeclaration(); + case SolverLanguagePackage.SCOPE_DECLARATION: + return createScopeDeclaration(); + case SolverLanguagePackage.EXACT_SCOPE: + return createExactScope(); + case SolverLanguagePackage.BOUNDED_SCOPE: + return createBoundedScope(); + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE: + return createLowerBoundedScope(); + case SolverLanguagePackage.NAMESPACE_IMPORT: + return createNamespaceImport(); + case SolverLanguagePackage.IMPORT: + return createImport(); + case SolverLanguagePackage.URI_IMPORT: + return createUriImport(); + 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.UNARY_OPERATOR: + return createUnaryOperatorFromString(eDataType, initialValue); + case SolverLanguagePackage.BINARY_OPERATOR: + return createBinaryOperatorFromString(eDataType, initialValue); + case SolverLanguagePackage.LOGIC_VALUE: + return createLogicValueFromString(eDataType, initialValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return createObjectiveKindFromString(eDataType, initialValue); + case SolverLanguagePackage.ATTRIBUTE_KIND: + return createAttributeKindFromString(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.UNARY_OPERATOR: + return convertUnaryOperatorToString(eDataType, instanceValue); + case SolverLanguagePackage.BINARY_OPERATOR: + return convertBinaryOperatorToString(eDataType, instanceValue); + case SolverLanguagePackage.LOGIC_VALUE: + return convertLogicValueToString(eDataType, instanceValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return convertObjectiveKindToString(eDataType, instanceValue); + case SolverLanguagePackage.ATTRIBUTE_KIND: + return convertAttributeKindToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public PathComponent createPathComponent() { + PathComponentImpl pathComponent = new PathComponentImpl(); + return pathComponent; + } + + /** + * + * + * @generated + */ + public Call createCall() { + CallImpl call = new CallImpl(); + return call; + } + + /** + * + * + * @generated + */ + public Reference createReference() { + ReferenceImpl reference = new ReferenceImpl(); + return reference; + } + + /** + * + * + * @generated + */ + public ArgumentList createArgumentList() { + ArgumentListImpl argumentList = new ArgumentListImpl(); + return argumentList; + } + + /** + * + * + * @generated + */ + public ExpressionArgument createExpressionArgument() { + ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl(); + return expressionArgument; + } + + /** + * + * + * @generated + */ + public StarArgument createStarArgument() { + StarArgumentImpl starArgument = new StarArgumentImpl(); + return starArgument; + } + + /** + * + * + * @generated + */ + public Variable createVariable() { + VariableImpl variable = new VariableImpl(); + return variable; + } + + /** + * + * + * @generated + */ + public UnaryExpression createUnaryExpression() { + UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl(); + return unaryExpression; + } + + /** + * + * + * @generated + */ + public BinaryExpression createBinaryExpression() { + BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl(); + return binaryExpression; + } + + /** + * + * + * @generated + */ + public Disjunction createDisjunction() { + DisjunctionImpl disjunction = new DisjunctionImpl(); + return disjunction; + } + + /** + * + * + * @generated + */ + public Conjunction createConjunction() { + ConjunctionImpl conjunction = new ConjunctionImpl(); + return conjunction; + } + + /** + * + * + * @generated + */ + public ConditionalExpression createConditionalExpression() { + ConditionalExpressionImpl conditionalExpression = new ConditionalExpressionImpl(); + return conditionalExpression; + } + + /** + * + * + * @generated + */ + public Switch createSwitch() { + SwitchImpl switch_ = new SwitchImpl(); + return switch_; + } + + /** + * + * + * @generated + */ + public Case createCase() { + CaseImpl case_ = new CaseImpl(); + return case_; + } + + /** + * + * + * @generated + */ + public LetExpression createLetExpression() { + LetExpressionImpl letExpression = new LetExpressionImpl(); + return letExpression; + } + + /** + * + * + * @generated + */ + public LetBinding createLetBinding() { + LetBindingImpl letBinding = new LetBindingImpl(); + return letBinding; + } + + /** + * + * + * @generated + */ + public IntLiteral createIntLiteral() { + IntLiteralImpl intLiteral = new IntLiteralImpl(); + return intLiteral; + } + + /** + * + * + * @generated + */ + public RealLiteral createRealLiteral() { + RealLiteralImpl realLiteral = new RealLiteralImpl(); + return realLiteral; + } + + /** + * + * + * @generated + */ + public StringLiteral createStringLiteral() { + StringLiteralImpl stringLiteral = new StringLiteralImpl(); + return stringLiteral; + } + + /** + * + * + * @generated + */ + public LogicLiteral createLogicLiteral() { + LogicLiteralImpl logicLiteral = new LogicLiteralImpl(); + return logicLiteral; + } + + /** + * + * + * @generated + */ + public EmptyLiteral createEmptyLiteral() { + EmptyLiteralImpl emptyLiteral = new EmptyLiteralImpl(); + return emptyLiteral; + } + + /** + * + * + * @generated + */ + public CastExpression createCastExpression() { + CastExpressionImpl castExpression = new CastExpressionImpl(); + return castExpression; + } + + /** + * + * + * @generated + */ + public Count createCount() { + CountImpl count = new CountImpl(); + return count; + } + + /** + * + * + * @generated + */ + public Aggregation createAggregation() { + AggregationImpl aggregation = new AggregationImpl(); + return aggregation; + } + + /** + * + * + * @generated + */ + public Forall createForall() { + ForallImpl forall = new ForallImpl(); + return forall; + } + + /** + * + * + * @generated + */ + public TypeReference createTypeReference() { + TypeReferenceImpl typeReference = new TypeReferenceImpl(); + return typeReference; + } + + /** + * + * + * @generated + */ + public InfinityLiteral createInfinityLiteral() { + InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl(); + return infinityLiteral; + } + + /** + * + * + * @generated + */ + public Interval createInterval() { + IntervalImpl interval = new IntervalImpl(); + return interval; + } + + /** + * + * + * @generated + */ + public BaseRelation createBaseRelation() { + BaseRelationImpl baseRelation = new BaseRelationImpl(); + return baseRelation; + } + + /** + * + * + * @generated + */ + public Predicate createPredicate() { + PredicateImpl predicate = new PredicateImpl(); + return predicate; + } + + /** + * + * + * @generated + */ + public Datatype createDatatype() { + DatatypeImpl datatype = new DatatypeImpl(); + return datatype; + } + + /** + * + * + * @generated + */ + public Metric createMetric() { + MetricImpl metric = new MetricImpl(); + return metric; + } + + /** + * + * + * @generated + */ + public Operator createOperator() { + OperatorImpl operator = new OperatorImpl(); + return operator; + } + + /** + * + * + * @generated + */ + public Node createNode() { + NodeImpl node = new NodeImpl(); + return node; + } + + /** + * + * + * @generated + */ + public PredicateDefinition createPredicateDefinition() { + PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl(); + return predicateDefinition; + } + + /** + * + * + * @generated + */ + public FunctionDefinition createFunctionDefinition() { + FunctionDefinitionImpl functionDefinition = new FunctionDefinitionImpl(); + return functionDefinition; + } + + /** + * + * + * @generated + */ + public ExternPredicateDeclaration createExternPredicateDeclaration() { + ExternPredicateDeclarationImpl externPredicateDeclaration = new ExternPredicateDeclarationImpl(); + return externPredicateDeclaration; + } + + /** + * + * + * @generated + */ + public ExternFunctionDeclaration createExternFunctionDeclaration() { + ExternFunctionDeclarationImpl externFunctionDeclaration = new ExternFunctionDeclarationImpl(); + return externFunctionDeclaration; + } + + /** + * + * + * @generated + */ + public ExternAggregationOperatorDeclaration createExternAggregationOperatorDeclaration() { + ExternAggregationOperatorDeclarationImpl externAggregationOperatorDeclaration = new ExternAggregationOperatorDeclarationImpl(); + return externAggregationOperatorDeclaration; + } + + /** + * + * + * @generated + */ + public ExternDatatypeDeclaration createExternDatatypeDeclaration() { + ExternDatatypeDeclarationImpl externDatatypeDeclaration = new ExternDatatypeDeclarationImpl(); + return externDatatypeDeclaration; + } + + /** + * + * + * @generated + */ + public ClassDeclaration createClassDeclaration() { + ClassDeclarationImpl classDeclaration = new ClassDeclarationImpl(); + return classDeclaration; + } + + /** + * + * + * @generated + */ + public EnumDeclaration createEnumDeclaration() { + EnumDeclarationImpl enumDeclaration = new EnumDeclarationImpl(); + return enumDeclaration; + } + + /** + * + * + * @generated + */ + public EnumLiteral createEnumLiteral() { + EnumLiteralImpl enumLiteral = new EnumLiteralImpl(); + return enumLiteral; + } + + /** + * + * + * @generated + */ + public Field createField() { + FieldImpl field = new FieldImpl(); + return field; + } + + /** + * + * + * @generated + */ + public DefaultAssertion createDefaultAssertion() { + DefaultAssertionImpl defaultAssertion = new DefaultAssertionImpl(); + return defaultAssertion; + } + + /** + * + * + * @generated + */ + public Assertion createAssertion() { + AssertionImpl assertion = new AssertionImpl(); + return assertion; + } + + /** + * + * + * @generated + */ + public UnboundedMultiplicity createUnboundedMultiplicity() { + UnboundedMultiplicityImpl unboundedMultiplicity = new UnboundedMultiplicityImpl(); + return unboundedMultiplicity; + } + + /** + * + * + * @generated + */ + public ExactMultiplicity createExactMultiplicity() { + ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl(); + return exactMultiplicity; + } + + /** + * + * + * @generated + */ + public BoundedMultiplicity createBoundedMultiplicity() { + BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl(); + return boundedMultiplicity; + } + + /** + * + * + * @generated + */ + public AggregationOperator createAggregationOperator() { + AggregationOperatorImpl aggregationOperator = new AggregationOperatorImpl(); + return aggregationOperator; + } + + /** + * + * + * @generated + */ + public Problem createProblem() { + ProblemImpl problem = new ProblemImpl(); + return problem; + } + + /** + * + * + * @generated + */ + public TypedStarArgument createTypedStarArgument() { + TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl(); + return typedStarArgument; + } + + /** + * + * + * @generated + */ + public TypedVariableArgument createTypedVariableArgument() { + TypedVariableArgumentImpl typedVariableArgument = new TypedVariableArgumentImpl(); + return typedVariableArgument; + } + + /** + * + * + * @generated + */ + public UnnamedErrorPredicateDefintion createUnnamedErrorPredicateDefintion() { + UnnamedErrorPredicateDefintionImpl unnamedErrorPredicateDefintion = new UnnamedErrorPredicateDefintionImpl(); + return unnamedErrorPredicateDefintion; + } + + /** + * + * + * @generated + */ + public ObjectiveDeclaration createObjectiveDeclaration() { + ObjectiveDeclarationImpl objectiveDeclaration = new ObjectiveDeclarationImpl(); + return objectiveDeclaration; + } + + /** + * + * + * @generated + */ + public ScopeDeclaration createScopeDeclaration() { + ScopeDeclarationImpl scopeDeclaration = new ScopeDeclarationImpl(); + return scopeDeclaration; + } + + /** + * + * + * @generated + */ + public ExactScope createExactScope() { + ExactScopeImpl exactScope = new ExactScopeImpl(); + return exactScope; + } + + /** + * + * + * @generated + */ + public BoundedScope createBoundedScope() { + BoundedScopeImpl boundedScope = new BoundedScopeImpl(); + return boundedScope; + } + + /** + * + * + * @generated + */ + public LowerBoundedScope createLowerBoundedScope() { + LowerBoundedScopeImpl lowerBoundedScope = new LowerBoundedScopeImpl(); + return lowerBoundedScope; + } + + /** + * + * + * @generated + */ + public NamespaceImport createNamespaceImport() { + NamespaceImportImpl namespaceImport = new NamespaceImportImpl(); + return namespaceImport; + } + + /** + * + * + * @generated + */ + public Import createImport() { + ImportImpl import_ = new ImportImpl(); + return import_; + } + + /** + * + * + * @generated + */ + public UriImport createUriImport() { + UriImportImpl uriImport = new UriImportImpl(); + return uriImport; + } + + /** + * + * + * @generated + */ + public UnaryOperator createUnaryOperatorFromString(EDataType eDataType, String initialValue) { + UnaryOperator result = UnaryOperator.get(initialValue); + if (result == null) + throw new IllegalArgumentException( + "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertUnaryOperatorToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @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 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 AttributeKind createAttributeKindFromString(EDataType eDataType, String initialValue) { + AttributeKind result = AttributeKind.get(initialValue); + if (result == null) + throw new IllegalArgumentException( + "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertAttributeKindToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java new file mode 100644 index 00000000..52dde045 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java @@ -0,0 +1,3364 @@ +/** + */ +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.AbstractAssertion; +import org.eclipse.viatra.solver.language.solverLanguage.AggregateExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; +import org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator; +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.Assertion; +import org.eclipse.viatra.solver.language.solverLanguage.Attribute; +import org.eclipse.viatra.solver.language.solverLanguage.AttributeKind; +import org.eclipse.viatra.solver.language.solverLanguage.BaseRelation; +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.BoundedScope; +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.ClassDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +import org.eclipse.viatra.solver.language.solverLanguage.Count; +import org.eclipse.viatra.solver.language.solverLanguage.Datatype; +import org.eclipse.viatra.solver.language.solverLanguage.DefaultAssertion; +import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; +import org.eclipse.viatra.solver.language.solverLanguage.EmptyLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.ExactScope; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; +import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.Field; +import org.eclipse.viatra.solver.language.solverLanguage.Forall; +import org.eclipse.viatra.solver.language.solverLanguage.Function; +import org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Functor; +import org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton; +import org.eclipse.viatra.solver.language.solverLanguage.Import; +import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.InlinePredicateAttrributes; +import org.eclipse.viatra.solver.language.solverLanguage.IntLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Interval; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.LetExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Literal; +import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.LogicValue; +import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope; +import org.eclipse.viatra.solver.language.solverLanguage.Metric; +import org.eclipse.viatra.solver.language.solverLanguage.MultiaryExpession; +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport; +import org.eclipse.viatra.solver.language.solverLanguage.Node; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind; +import org.eclipse.viatra.solver.language.solverLanguage.Operator; +import org.eclipse.viatra.solver.language.solverLanguage.PathComponent; +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.RealLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.viatra.solver.language.solverLanguage.Relation; +import org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration; +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.Symbol; +import org.eclipse.viatra.solver.language.solverLanguage.TypeReference; +import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; +import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; +import org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryOperator; +import org.eclipse.viatra.solver.language.solverLanguage.UnboundedMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion; +import org.eclipse.viatra.solver.language.solverLanguage.UriImport; +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 pathComponentEClass = null; + + /** + * + * + * @generated + */ + private EClass symbolEClass = null; + + /** + * + * + * @generated + */ + private EClass callEClass = null; + + /** + * + * + * @generated + */ + private EClass referenceEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionEClass = null; + + /** + * + * + * @generated + */ + private EClass argumentEClass = null; + + /** + * + * + * @generated + */ + private EClass argumentListEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass starArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass typedArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass multiaryExpessionEClass = null; + + /** + * + * + * @generated + */ + private EClass variableEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass binaryExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass disjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass conjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass conditionalExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass switchEClass = null; + + /** + * + * + * @generated + */ + private EClass caseEClass = null; + + /** + * + * + * @generated + */ + private EClass letExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass letBindingEClass = null; + + /** + * + * + * @generated + */ + private EClass literalEClass = null; + + /** + * + * + * @generated + */ + private EClass intLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass realLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass stringLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass logicLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass emptyLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass castExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass aggregateExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass countEClass = null; + + /** + * + * + * @generated + */ + private EClass aggregationEClass = null; + + /** + * + * + * @generated + */ + private EClass forallEClass = null; + + /** + * + * + * @generated + */ + private EClass typeReferenceEClass = null; + + /** + * + * + * @generated + */ + private EClass infinityLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass intervalEClass = null; + + /** + * + * + * @generated + */ + private EClass functorEClass = null; + + /** + * + * + * @generated + */ + private EClass relationEClass = null; + + /** + * + * + * @generated + */ + private EClass baseRelationEClass = null; + + /** + * + * + * @generated + */ + private EClass predicateEClass = null; + + /** + * + * + * @generated + */ + private EClass datatypeEClass = null; + + /** + * + * + * @generated + */ + private EClass functionEClass = null; + + /** + * + * + * @generated + */ + private EClass metricEClass = null; + + /** + * + * + * @generated + */ + private EClass operatorEClass = null; + + /** + * + * + * @generated + */ + private EClass nodeEClass = null; + + /** + * + * + * @generated + */ + private EClass statementEClass = null; + + /** + * + * + * @generated + */ + private EClass abstractAssertionEClass = null; + + /** + * + * + * @generated + */ + private EClass functorDefinitonEClass = null; + + /** + * + * + * @generated + */ + private EClass predicateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass functionDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass attributeEClass = null; + + /** + * + * + * @generated + */ + private EClass externDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass externFunctorDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass externPredicateDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass externFunctionDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass externAggregationOperatorDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass externDatatypeDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass classDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass enumDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass enumLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass fieldEClass = null; + + /** + * + * + * @generated + */ + private EClass multiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass defaultAssertionEClass = null; + + /** + * + * + * @generated + */ + private EClass assertionEClass = null; + + /** + * + * + * @generated + */ + private EClass unboundedMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass exactMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass boundedMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass inlinePredicateAttrributesEClass = null; + + /** + * + * + * @generated + */ + private EClass aggregationOperatorEClass = null; + + /** + * + * + * @generated + */ + private EClass problemEClass = null; + + /** + * + * + * @generated + */ + private EClass typedStarArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass typedVariableArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass unnamedErrorPredicateDefintionEClass = null; + + /** + * + * + * @generated + */ + private EClass objectiveDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass scopeDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass exactScopeEClass = null; + + /** + * + * + * @generated + */ + private EClass boundedScopeEClass = null; + + /** + * + * + * @generated + */ + private EClass lowerBoundedScopeEClass = null; + + /** + * + * + * @generated + */ + private EClass namespaceImportEClass = null; + + /** + * + * + * @generated + */ + private EClass importEClass = null; + + /** + * + * + * @generated + */ + private EClass uriImportEClass = null; + + /** + * + * + * @generated + */ + private EEnum unaryOperatorEEnum = null; + + /** + * + * + * @generated + */ + private EEnum binaryOperatorEEnum = null; + + /** + * + * + * @generated + */ + private EEnum logicValueEEnum = null; + + /** + * + * + * @generated + */ + private EEnum objectiveKindEEnum = null; + + /** + * + * + * @generated + */ + private EEnum attributeKindEEnum = 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 + */ + public EClass getPathComponent() { + return pathComponentEClass; + } + + /** + * + * + * @generated + */ + public EReference getPathComponent_Symbol() { + return (EReference) pathComponentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getPathComponent_Inverse() { + return (EAttribute) pathComponentEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getPathComponent_TransitiveClosure() { + return (EAttribute) pathComponentEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EAttribute getPathComponent_ReflexiveTransitiveClosure() { + return (EAttribute) pathComponentEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getSymbol() { + return symbolEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getSymbol_Name() { + return (EAttribute) symbolEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getCall() { + return callEClass; + } + + /** + * + * + * @generated + */ + public EReference getCall_Functor() { + return (EReference) callEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getCall_ArgumentList() { + return (EReference) callEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getReference() { + return referenceEClass; + } + + /** + * + * + * @generated + */ + public EReference getReference_Components() { + return (EReference) referenceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getExpression() { + return expressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getExpression_ExistsVariables() { + return (EReference) expressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getArgument() { + return argumentEClass; + } + + /** + * + * + * @generated + */ + public EClass getArgumentList() { + return argumentListEClass; + } + + /** + * + * + * @generated + */ + public EReference getArgumentList_Arguments() { + return (EReference) argumentListEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getExpressionArgument() { + return expressionArgumentEClass; + } + + /** + * + * + * @generated + */ + public EReference getExpressionArgument_Expression() { + return (EReference) expressionArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getStarArgument() { + return starArgumentEClass; + } + + /** + * + * + * @generated + */ + public EClass getTypedArgument() { + return typedArgumentEClass; + } + + /** + * + * + * @generated + */ + public EReference getTypedArgument_TypeReference() { + return (EReference) typedArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getMultiaryExpession() { + return multiaryExpessionEClass; + } + + /** + * + * + * @generated + */ + public EReference getMultiaryExpession_Children() { + return (EReference) multiaryExpessionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getVariable() { + return variableEClass; + } + + /** + * + * + * @generated + */ + public EReference getVariable_TypeReference() { + return (EReference) variableEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryExpression() { + return unaryExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryExpression_Body() { + return (EReference) unaryExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getUnaryExpression_Op() { + return (EAttribute) unaryExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getBinaryExpression() { + return binaryExpressionEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getBinaryExpression_Op() { + return (EAttribute) binaryExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getBinaryExpression_Left() { + return (EReference) binaryExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getBinaryExpression_Right() { + return (EReference) binaryExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getDisjunction() { + return disjunctionEClass; + } + + /** + * + * + * @generated + */ + public EClass getConjunction() { + return conjunctionEClass; + } + + /** + * + * + * @generated + */ + public EClass getConditionalExpression() { + return conditionalExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getConditionalExpression_Condition() { + return (EReference) conditionalExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getConditionalExpression_Then() { + return (EReference) conditionalExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getConditionalExpression_Else() { + return (EReference) conditionalExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getSwitch() { + return switchEClass; + } + + /** + * + * + * @generated + */ + public EReference getSwitch_Cases() { + return (EReference) switchEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getCase() { + return caseEClass; + } + + /** + * + * + * @generated + */ + public EReference getCase_Condition() { + return (EReference) caseEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getCase_Body() { + return (EReference) caseEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLetExpression() { + return letExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getLetExpression_Bindings() { + return (EReference) letExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLetExpression_Body() { + return (EReference) letExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLetBinding() { + return letBindingEClass; + } + + /** + * + * + * @generated + */ + public EReference getLetBinding_Value() { + return (EReference) letBindingEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLetBinding_Variable() { + return (EReference) letBindingEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getLetBinding_Name() { + return (EAttribute) letBindingEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getLetBinding_Type() { + return (EReference) letBindingEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getLiteral() { + return literalEClass; + } + + /** + * + * + * @generated + */ + public EClass getIntLiteral() { + return intLiteralEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getIntLiteral_Value() { + return (EAttribute) intLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getRealLiteral() { + return realLiteralEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getRealLiteral_Value() { + return (EAttribute) realLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getStringLiteral() { + return stringLiteralEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getStringLiteral_Value() { + return (EAttribute) stringLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getLogicLiteral() { + return logicLiteralEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getLogicLiteral_Value() { + return (EAttribute) logicLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getEmptyLiteral() { + return emptyLiteralEClass; + } + + /** + * + * + * @generated + */ + public EClass getCastExpression() { + return castExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getCastExpression_Body() { + return (EReference) castExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getCastExpression_TargetType() { + return (EReference) castExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getAggregateExpression() { + return aggregateExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getAggregateExpression_ForallVariables() { + return (EReference) aggregateExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAggregateExpression_Condition() { + return (EReference) aggregateExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getCount() { + return countEClass; + } + + /** + * + * + * @generated + */ + public EClass getAggregation() { + return aggregationEClass; + } + + /** + * + * + * @generated + */ + public EReference getAggregation_Value() { + return (EReference) aggregationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAggregation_Op() { + return (EReference) aggregationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getForall() { + return forallEClass; + } + + /** + * + * + * @generated + */ + public EReference getForall_Body() { + return (EReference) forallEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getTypeReference() { + return typeReferenceEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getTypeReference_ForceObjectType() { + return (EAttribute) typeReferenceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getTypeReference_Type() { + return (EReference) typeReferenceEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getInfinityLiteral() { + return infinityLiteralEClass; + } + + /** + * + * + * @generated + */ + public EClass getInterval() { + return intervalEClass; + } + + /** + * + * + * @generated + */ + public EReference getInterval_LowerBound() { + return (EReference) intervalEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getInterval_UpperBound() { + return (EReference) intervalEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getFunctor() { + return functorEClass; + } + + /** + * + * + * @generated + */ + public EReference getFunctor_Parameters() { + return (EReference) functorEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getRelation() { + return relationEClass; + } + + /** + * + * + * @generated + */ + public EClass getBaseRelation() { + return baseRelationEClass; + } + + /** + * + * + * @generated + */ + public EClass getPredicate() { + return predicateEClass; + } + + /** + * + * + * @generated + */ + public EClass getDatatype() { + return datatypeEClass; + } + + /** + * + * + * @generated + */ + public EClass getFunction() { + return functionEClass; + } + + /** + * + * + * @generated + */ + public EReference getFunction_ResultType() { + return (EReference) functionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getMetric() { + return metricEClass; + } + + /** + * + * + * @generated + */ + public EClass getOperator() { + return operatorEClass; + } + + /** + * + * + * @generated + */ + public EClass getNode() { + return nodeEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNode_Named() { + return (EAttribute) nodeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getStatement() { + return statementEClass; + } + + /** + * + * + * @generated + */ + public EClass getAbstractAssertion() { + return abstractAssertionEClass; + } + + /** + * + * + * @generated + */ + public EReference getAbstractAssertion_Expression() { + return (EReference) abstractAssertionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAbstractAssertion_Range() { + return (EReference) abstractAssertionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getFunctorDefiniton() { + return functorDefinitonEClass; + } + + /** + * + * + * @generated + */ + public EReference getFunctorDefiniton_Head() { + return (EReference) functorDefinitonEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getFunctorDefiniton_Body() { + return (EReference) functorDefinitonEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getPredicateDefinition() { + return predicateDefinitionEClass; + } + + /** + * + * + * @generated + */ + public EClass getFunctionDefinition() { + return functionDefinitionEClass; + } + + /** + * + * + * @generated + */ + public EReference getFunctionDefinition_ResultType() { + return (EReference) functionDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getAttribute() { + return attributeEClass; + } + + /** + * + * + * @generated + */ + public EReference getAttribute_Target() { + return (EReference) attributeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getAttribute_Kind() { + return (EAttribute) attributeEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getExternDeclaration() { + return externDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getExternDeclaration_Name() { + return (EAttribute) externDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getExternFunctorDeclaration() { + return externFunctorDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getExternFunctorDeclaration_ArgumentList() { + return (EReference) externFunctorDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getExternPredicateDeclaration() { + return externPredicateDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getExternFunctionDeclaration() { + return externFunctionDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getExternFunctionDeclaration_ResultType() { + return (EReference) externFunctionDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getExternAggregationOperatorDeclaration() { + return externAggregationOperatorDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getExternAggregationOperatorDeclaration_ArgumentType() { + return (EReference) externAggregationOperatorDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getExternAggregationOperatorDeclaration_ResultType() { + return (EReference) externAggregationOperatorDeclarationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getExternDatatypeDeclaration() { + return externDatatypeDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getClassDeclaration() { + return classDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getClassDeclaration_Fields() { + return (EReference) classDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getClassDeclaration_Name() { + return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getClassDeclaration_Abstract() { + return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getClassDeclaration_Supertypes() { + return (EReference) classDeclarationEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EAttribute getClassDeclaration_Root() { + return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EClass getEnumDeclaration() { + return enumDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getEnumDeclaration_Literals() { + return (EReference) enumDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getEnumDeclaration_Name() { + return (EAttribute) enumDeclarationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getEnumLiteral() { + return enumLiteralEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getEnumLiteral_Name() { + return (EAttribute) enumLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getField() { + return fieldEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getField_Containment() { + return (EAttribute) fieldEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getField_CrossReference() { + return (EAttribute) fieldEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getField_Opposite() { + return (EReference) fieldEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getField_Multiplicity() { + return (EReference) fieldEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getField_Type() { + return (EReference) fieldEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EAttribute getField_Name() { + return (EAttribute) fieldEClass.getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EClass getMultiplicity() { + return multiplicityEClass; + } + + /** + * + * + * @generated + */ + public EClass getDefaultAssertion() { + return defaultAssertionEClass; + } + + /** + * + * + * @generated + */ + public EClass getAssertion() { + return assertionEClass; + } + + /** + * + * + * @generated + */ + public EClass getUnboundedMultiplicity() { + return unboundedMultiplicityEClass; + } + + /** + * + * + * @generated + */ + public EClass getExactMultiplicity() { + return exactMultiplicityEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getExactMultiplicity_Value() { + return (EAttribute) exactMultiplicityEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getBoundedMultiplicity() { + return boundedMultiplicityEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getBoundedMultiplicity_LowerBound() { + return (EAttribute) boundedMultiplicityEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getBoundedMultiplicity_UpperBound() { + return (EAttribute) boundedMultiplicityEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getInlinePredicateAttrributes() { + return inlinePredicateAttrributesEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getInlinePredicateAttrributes_Error() { + return (EAttribute) inlinePredicateAttrributesEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getInlinePredicateAttrributes_Functional() { + return (EAttribute) inlinePredicateAttrributesEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getAggregationOperator() { + return aggregationOperatorEClass; + } + + /** + * + * + * @generated + */ + public EReference getAggregationOperator_ArgumentType() { + return (EReference) aggregationOperatorEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAggregationOperator_ResultType() { + return (EReference) aggregationOperatorEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getProblem() { + return problemEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getProblem_Name() { + return (EAttribute) problemEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getProblem_Statements() { + return (EReference) problemEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getProblem_Symbols() { + return (EReference) problemEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getProblem_Imports() { + return (EReference) problemEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getTypedStarArgument() { + return typedStarArgumentEClass; + } + + /** + * + * + * @generated + */ + public EClass getTypedVariableArgument() { + return typedVariableArgumentEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getTypedVariableArgument_Name() { + return (EAttribute) typedVariableArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnnamedErrorPredicateDefintion() { + return unnamedErrorPredicateDefintionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnnamedErrorPredicateDefintion_ArgumentList() { + return (EReference) unnamedErrorPredicateDefintionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getUnnamedErrorPredicateDefintion_Body() { + return (EReference) unnamedErrorPredicateDefintionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getObjectiveDeclaration() { + return objectiveDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getObjectiveDeclaration_Kind() { + return (EAttribute) objectiveDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getObjectiveDeclaration_Objective() { + return (EReference) objectiveDeclarationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getScopeDeclaration() { + return scopeDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getScopeDeclaration_Type() { + return (EReference) scopeDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getExactScope() { + return exactScopeEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getExactScope_Size() { + return (EAttribute) exactScopeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getBoundedScope() { + return boundedScopeEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getBoundedScope_LowerBound() { + return (EAttribute) boundedScopeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getBoundedScope_UpperBound() { + return (EAttribute) boundedScopeEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLowerBoundedScope() { + return lowerBoundedScopeEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getLowerBoundedScope_LowerBound() { + return (EAttribute) lowerBoundedScopeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getNamespaceImport() { + return namespaceImportEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNamespaceImport_ImportedNamespace() { + return (EAttribute) namespaceImportEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getImport() { + return importEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getImport_Alias() { + return (EAttribute) importEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUriImport() { + return uriImportEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getUriImport_Uri() { + return (EAttribute) uriImportEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EEnum getUnaryOperator() { + return unaryOperatorEEnum; + } + + /** + * + * + * @generated + */ + public EEnum getBinaryOperator() { + return binaryOperatorEEnum; + } + + /** + * + * + * @generated + */ + public EEnum getLogicValue() { + return logicValueEEnum; + } + + /** + * + * + * @generated + */ + public EEnum getObjectiveKind() { + return objectiveKindEEnum; + } + + /** + * + * + * @generated + */ + public EEnum getAttributeKind() { + return attributeKindEEnum; + } + + /** + * + * + * @generated + */ + 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 + pathComponentEClass = createEClass(PATH_COMPONENT); + createEReference(pathComponentEClass, PATH_COMPONENT__SYMBOL); + createEAttribute(pathComponentEClass, PATH_COMPONENT__INVERSE); + createEAttribute(pathComponentEClass, PATH_COMPONENT__TRANSITIVE_CLOSURE); + createEAttribute(pathComponentEClass, PATH_COMPONENT__REFLEXIVE_TRANSITIVE_CLOSURE); + + symbolEClass = createEClass(SYMBOL); + createEAttribute(symbolEClass, SYMBOL__NAME); + + callEClass = createEClass(CALL); + createEReference(callEClass, CALL__FUNCTOR); + createEReference(callEClass, CALL__ARGUMENT_LIST); + + referenceEClass = createEClass(REFERENCE); + createEReference(referenceEClass, REFERENCE__COMPONENTS); + + expressionEClass = createEClass(EXPRESSION); + createEReference(expressionEClass, EXPRESSION__EXISTS_VARIABLES); + + argumentEClass = createEClass(ARGUMENT); + + argumentListEClass = createEClass(ARGUMENT_LIST); + createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); + + expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT); + createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__EXPRESSION); + + starArgumentEClass = createEClass(STAR_ARGUMENT); + + typedArgumentEClass = createEClass(TYPED_ARGUMENT); + createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE_REFERENCE); + + multiaryExpessionEClass = createEClass(MULTIARY_EXPESSION); + createEReference(multiaryExpessionEClass, MULTIARY_EXPESSION__CHILDREN); + + variableEClass = createEClass(VARIABLE); + createEReference(variableEClass, VARIABLE__TYPE_REFERENCE); + + unaryExpressionEClass = createEClass(UNARY_EXPRESSION); + createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY); + createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP); + + binaryExpressionEClass = createEClass(BINARY_EXPRESSION); + createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT); + + disjunctionEClass = createEClass(DISJUNCTION); + + conjunctionEClass = createEClass(CONJUNCTION); + + conditionalExpressionEClass = createEClass(CONDITIONAL_EXPRESSION); + createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__CONDITION); + createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__THEN); + createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__ELSE); + + switchEClass = createEClass(SWITCH); + createEReference(switchEClass, SWITCH__CASES); + + caseEClass = createEClass(CASE); + createEReference(caseEClass, CASE__CONDITION); + createEReference(caseEClass, CASE__BODY); + + letExpressionEClass = createEClass(LET_EXPRESSION); + createEReference(letExpressionEClass, LET_EXPRESSION__BINDINGS); + createEReference(letExpressionEClass, LET_EXPRESSION__BODY); + + letBindingEClass = createEClass(LET_BINDING); + createEReference(letBindingEClass, LET_BINDING__VALUE); + createEReference(letBindingEClass, LET_BINDING__VARIABLE); + createEAttribute(letBindingEClass, LET_BINDING__NAME); + createEReference(letBindingEClass, LET_BINDING__TYPE); + + literalEClass = createEClass(LITERAL); + + intLiteralEClass = createEClass(INT_LITERAL); + createEAttribute(intLiteralEClass, INT_LITERAL__VALUE); + + realLiteralEClass = createEClass(REAL_LITERAL); + createEAttribute(realLiteralEClass, REAL_LITERAL__VALUE); + + stringLiteralEClass = createEClass(STRING_LITERAL); + createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); + + logicLiteralEClass = createEClass(LOGIC_LITERAL); + createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE); + + emptyLiteralEClass = createEClass(EMPTY_LITERAL); + + castExpressionEClass = createEClass(CAST_EXPRESSION); + createEReference(castExpressionEClass, CAST_EXPRESSION__BODY); + createEReference(castExpressionEClass, CAST_EXPRESSION__TARGET_TYPE); + + aggregateExpressionEClass = createEClass(AGGREGATE_EXPRESSION); + createEReference(aggregateExpressionEClass, AGGREGATE_EXPRESSION__FORALL_VARIABLES); + createEReference(aggregateExpressionEClass, AGGREGATE_EXPRESSION__CONDITION); + + countEClass = createEClass(COUNT); + + aggregationEClass = createEClass(AGGREGATION); + createEReference(aggregationEClass, AGGREGATION__VALUE); + createEReference(aggregationEClass, AGGREGATION__OP); + + forallEClass = createEClass(FORALL); + createEReference(forallEClass, FORALL__BODY); + + typeReferenceEClass = createEClass(TYPE_REFERENCE); + createEAttribute(typeReferenceEClass, TYPE_REFERENCE__FORCE_OBJECT_TYPE); + createEReference(typeReferenceEClass, TYPE_REFERENCE__TYPE); + + infinityLiteralEClass = createEClass(INFINITY_LITERAL); + + intervalEClass = createEClass(INTERVAL); + createEReference(intervalEClass, INTERVAL__LOWER_BOUND); + createEReference(intervalEClass, INTERVAL__UPPER_BOUND); + + functorEClass = createEClass(FUNCTOR); + createEReference(functorEClass, FUNCTOR__PARAMETERS); + + relationEClass = createEClass(RELATION); + + baseRelationEClass = createEClass(BASE_RELATION); + + predicateEClass = createEClass(PREDICATE); + + datatypeEClass = createEClass(DATATYPE); + + functionEClass = createEClass(FUNCTION); + createEReference(functionEClass, FUNCTION__RESULT_TYPE); + + metricEClass = createEClass(METRIC); + + operatorEClass = createEClass(OPERATOR); + + nodeEClass = createEClass(NODE); + createEAttribute(nodeEClass, NODE__NAMED); + + statementEClass = createEClass(STATEMENT); + + abstractAssertionEClass = createEClass(ABSTRACT_ASSERTION); + createEReference(abstractAssertionEClass, ABSTRACT_ASSERTION__EXPRESSION); + createEReference(abstractAssertionEClass, ABSTRACT_ASSERTION__RANGE); + + functorDefinitonEClass = createEClass(FUNCTOR_DEFINITON); + createEReference(functorDefinitonEClass, FUNCTOR_DEFINITON__HEAD); + createEReference(functorDefinitonEClass, FUNCTOR_DEFINITON__BODY); + + predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); + + functionDefinitionEClass = createEClass(FUNCTION_DEFINITION); + createEReference(functionDefinitionEClass, FUNCTION_DEFINITION__RESULT_TYPE); + + attributeEClass = createEClass(ATTRIBUTE); + createEReference(attributeEClass, ATTRIBUTE__TARGET); + createEAttribute(attributeEClass, ATTRIBUTE__KIND); + + externDeclarationEClass = createEClass(EXTERN_DECLARATION); + createEAttribute(externDeclarationEClass, EXTERN_DECLARATION__NAME); + + externFunctorDeclarationEClass = createEClass(EXTERN_FUNCTOR_DECLARATION); + createEReference(externFunctorDeclarationEClass, EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST); + + externPredicateDeclarationEClass = createEClass(EXTERN_PREDICATE_DECLARATION); + + externFunctionDeclarationEClass = createEClass(EXTERN_FUNCTION_DECLARATION); + createEReference(externFunctionDeclarationEClass, EXTERN_FUNCTION_DECLARATION__RESULT_TYPE); + + externAggregationOperatorDeclarationEClass = createEClass(EXTERN_AGGREGATION_OPERATOR_DECLARATION); + createEReference(externAggregationOperatorDeclarationEClass, + EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE); + createEReference(externAggregationOperatorDeclarationEClass, + EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE); + + externDatatypeDeclarationEClass = createEClass(EXTERN_DATATYPE_DECLARATION); + + classDeclarationEClass = createEClass(CLASS_DECLARATION); + createEReference(classDeclarationEClass, CLASS_DECLARATION__FIELDS); + createEAttribute(classDeclarationEClass, CLASS_DECLARATION__NAME); + createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT); + createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPERTYPES); + createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ROOT); + + enumDeclarationEClass = createEClass(ENUM_DECLARATION); + createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS); + createEAttribute(enumDeclarationEClass, ENUM_DECLARATION__NAME); + + enumLiteralEClass = createEClass(ENUM_LITERAL); + createEAttribute(enumLiteralEClass, ENUM_LITERAL__NAME); + + fieldEClass = createEClass(FIELD); + createEAttribute(fieldEClass, FIELD__CONTAINMENT); + createEAttribute(fieldEClass, FIELD__CROSS_REFERENCE); + createEReference(fieldEClass, FIELD__OPPOSITE); + createEReference(fieldEClass, FIELD__MULTIPLICITY); + createEReference(fieldEClass, FIELD__TYPE); + createEAttribute(fieldEClass, FIELD__NAME); + + multiplicityEClass = createEClass(MULTIPLICITY); + + defaultAssertionEClass = createEClass(DEFAULT_ASSERTION); + + assertionEClass = createEClass(ASSERTION); + + unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY); + + exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); + createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__VALUE); + + boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND); + + inlinePredicateAttrributesEClass = createEClass(INLINE_PREDICATE_ATTRRIBUTES); + createEAttribute(inlinePredicateAttrributesEClass, INLINE_PREDICATE_ATTRRIBUTES__ERROR); + createEAttribute(inlinePredicateAttrributesEClass, INLINE_PREDICATE_ATTRRIBUTES__FUNCTIONAL); + + aggregationOperatorEClass = createEClass(AGGREGATION_OPERATOR); + createEReference(aggregationOperatorEClass, AGGREGATION_OPERATOR__ARGUMENT_TYPE); + createEReference(aggregationOperatorEClass, AGGREGATION_OPERATOR__RESULT_TYPE); + + problemEClass = createEClass(PROBLEM); + createEAttribute(problemEClass, PROBLEM__NAME); + createEReference(problemEClass, PROBLEM__STATEMENTS); + createEReference(problemEClass, PROBLEM__SYMBOLS); + createEReference(problemEClass, PROBLEM__IMPORTS); + + typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT); + + typedVariableArgumentEClass = createEClass(TYPED_VARIABLE_ARGUMENT); + createEAttribute(typedVariableArgumentEClass, TYPED_VARIABLE_ARGUMENT__NAME); + + unnamedErrorPredicateDefintionEClass = createEClass(UNNAMED_ERROR_PREDICATE_DEFINTION); + createEReference(unnamedErrorPredicateDefintionEClass, UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST); + createEReference(unnamedErrorPredicateDefintionEClass, UNNAMED_ERROR_PREDICATE_DEFINTION__BODY); + + objectiveDeclarationEClass = createEClass(OBJECTIVE_DECLARATION); + createEAttribute(objectiveDeclarationEClass, OBJECTIVE_DECLARATION__KIND); + createEReference(objectiveDeclarationEClass, OBJECTIVE_DECLARATION__OBJECTIVE); + + scopeDeclarationEClass = createEClass(SCOPE_DECLARATION); + createEReference(scopeDeclarationEClass, SCOPE_DECLARATION__TYPE); + + exactScopeEClass = createEClass(EXACT_SCOPE); + createEAttribute(exactScopeEClass, EXACT_SCOPE__SIZE); + + boundedScopeEClass = createEClass(BOUNDED_SCOPE); + createEAttribute(boundedScopeEClass, BOUNDED_SCOPE__LOWER_BOUND); + createEAttribute(boundedScopeEClass, BOUNDED_SCOPE__UPPER_BOUND); + + lowerBoundedScopeEClass = createEClass(LOWER_BOUNDED_SCOPE); + createEAttribute(lowerBoundedScopeEClass, LOWER_BOUNDED_SCOPE__LOWER_BOUND); + + namespaceImportEClass = createEClass(NAMESPACE_IMPORT); + createEAttribute(namespaceImportEClass, NAMESPACE_IMPORT__IMPORTED_NAMESPACE); + + importEClass = createEClass(IMPORT); + createEAttribute(importEClass, IMPORT__ALIAS); + + uriImportEClass = createEClass(URI_IMPORT); + createEAttribute(uriImportEClass, URI_IMPORT__URI); + + // Create enums + unaryOperatorEEnum = createEEnum(UNARY_OPERATOR); + binaryOperatorEEnum = createEEnum(BINARY_OPERATOR); + logicValueEEnum = createEEnum(LOGIC_VALUE); + objectiveKindEEnum = createEEnum(OBJECTIVE_KIND); + attributeKindEEnum = createEEnum(ATTRIBUTE_KIND); + } + + /** + * + * + * @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 + callEClass.getESuperTypes().add(this.getExpression()); + referenceEClass.getESuperTypes().add(this.getExpression()); + expressionEClass.getESuperTypes().add(this.getStatement()); + expressionArgumentEClass.getESuperTypes().add(this.getArgument()); + starArgumentEClass.getESuperTypes().add(this.getArgument()); + typedArgumentEClass.getESuperTypes().add(this.getArgument()); + multiaryExpessionEClass.getESuperTypes().add(this.getExpression()); + variableEClass.getESuperTypes().add(this.getSymbol()); + unaryExpressionEClass.getESuperTypes().add(this.getExpression()); + binaryExpressionEClass.getESuperTypes().add(this.getExpression()); + disjunctionEClass.getESuperTypes().add(this.getMultiaryExpession()); + conjunctionEClass.getESuperTypes().add(this.getMultiaryExpession()); + conditionalExpressionEClass.getESuperTypes().add(this.getExpression()); + switchEClass.getESuperTypes().add(this.getExpression()); + caseEClass.getESuperTypes().add(this.getExpression()); + letExpressionEClass.getESuperTypes().add(this.getExpression()); + literalEClass.getESuperTypes().add(this.getExpression()); + intLiteralEClass.getESuperTypes().add(this.getLiteral()); + realLiteralEClass.getESuperTypes().add(this.getLiteral()); + stringLiteralEClass.getESuperTypes().add(this.getLiteral()); + logicLiteralEClass.getESuperTypes().add(this.getLiteral()); + emptyLiteralEClass.getESuperTypes().add(this.getLiteral()); + castExpressionEClass.getESuperTypes().add(this.getExpression()); + aggregateExpressionEClass.getESuperTypes().add(this.getExpression()); + countEClass.getESuperTypes().add(this.getAggregateExpression()); + aggregationEClass.getESuperTypes().add(this.getAggregateExpression()); + forallEClass.getESuperTypes().add(this.getAggregateExpression()); + infinityLiteralEClass.getESuperTypes().add(this.getLiteral()); + intervalEClass.getESuperTypes().add(this.getExpression()); + functorEClass.getESuperTypes().add(this.getSymbol()); + relationEClass.getESuperTypes().add(this.getFunctor()); + baseRelationEClass.getESuperTypes().add(this.getRelation()); + predicateEClass.getESuperTypes().add(this.getRelation()); + datatypeEClass.getESuperTypes().add(this.getRelation()); + functionEClass.getESuperTypes().add(this.getFunctor()); + metricEClass.getESuperTypes().add(this.getFunction()); + operatorEClass.getESuperTypes().add(this.getFunction()); + nodeEClass.getESuperTypes().add(this.getSymbol()); + abstractAssertionEClass.getESuperTypes().add(this.getStatement()); + functorDefinitonEClass.getESuperTypes().add(this.getStatement()); + predicateDefinitionEClass.getESuperTypes().add(this.getFunctorDefiniton()); + predicateDefinitionEClass.getESuperTypes().add(this.getInlinePredicateAttrributes()); + functionDefinitionEClass.getESuperTypes().add(this.getFunctorDefiniton()); + attributeEClass.getESuperTypes().add(this.getStatement()); + externDeclarationEClass.getESuperTypes().add(this.getStatement()); + externFunctorDeclarationEClass.getESuperTypes().add(this.getExternDeclaration()); + externPredicateDeclarationEClass.getESuperTypes().add(this.getExternFunctorDeclaration()); + externPredicateDeclarationEClass.getESuperTypes().add(this.getInlinePredicateAttrributes()); + externFunctionDeclarationEClass.getESuperTypes().add(this.getExternFunctorDeclaration()); + externAggregationOperatorDeclarationEClass.getESuperTypes().add(this.getExternDeclaration()); + externDatatypeDeclarationEClass.getESuperTypes().add(this.getExternDeclaration()); + classDeclarationEClass.getESuperTypes().add(this.getStatement()); + enumDeclarationEClass.getESuperTypes().add(this.getStatement()); + defaultAssertionEClass.getESuperTypes().add(this.getAbstractAssertion()); + assertionEClass.getESuperTypes().add(this.getAbstractAssertion()); + unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + aggregationOperatorEClass.getESuperTypes().add(this.getSymbol()); + typedStarArgumentEClass.getESuperTypes().add(this.getTypedArgument()); + typedVariableArgumentEClass.getESuperTypes().add(this.getTypedArgument()); + unnamedErrorPredicateDefintionEClass.getESuperTypes().add(this.getStatement()); + objectiveDeclarationEClass.getESuperTypes().add(this.getStatement()); + scopeDeclarationEClass.getESuperTypes().add(this.getStatement()); + exactScopeEClass.getESuperTypes().add(this.getScopeDeclaration()); + boundedScopeEClass.getESuperTypes().add(this.getScopeDeclaration()); + lowerBoundedScopeEClass.getESuperTypes().add(this.getScopeDeclaration()); + namespaceImportEClass.getESuperTypes().add(this.getImport()); + uriImportEClass.getESuperTypes().add(this.getImport()); + + // Initialize classes, features, and operations; add parameters + initEClass(pathComponentEClass, PathComponent.class, "PathComponent", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getPathComponent_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, PathComponent.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getPathComponent_Inverse(), ecorePackage.getEBoolean(), "inverse", null, 0, 1, + PathComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getPathComponent_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, + 1, PathComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getPathComponent_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), + "reflexiveTransitiveClosure", null, 0, 1, PathComponent.class, !IS_TRANSIENT, !IS_VOLATILE, + IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(symbolEClass, Symbol.class, "Symbol", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getSymbol_Name(), ecorePackage.getEString(), "name", null, 0, 1, Symbol.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, 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); + 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(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getReference_Components(), this.getPathComponent(), null, "components", 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(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getExpression_ExistsVariables(), this.getVariable(), null, "existsVariables", null, 0, -1, + Expression.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(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(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExpressionArgument_Expression(), this.getExpression(), null, "expression", 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_TypeReference(), this.getTypeReference(), null, "typeReference", 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(multiaryExpessionEClass, MultiaryExpession.class, "MultiaryExpession", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getMultiaryExpession_Children(), this.getExpression(), null, "children", null, 0, -1, + MultiaryExpession.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_TypeReference(), this.getTypeReference(), null, "typeReference", 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(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + 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); + initEAttribute(getUnaryExpression_Op(), this.getUnaryOperator(), "op", null, 0, 1, UnaryExpression.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + 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_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); + 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(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(conditionalExpressionEClass, ConditionalExpression.class, "ConditionalExpression", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getConditionalExpression_Condition(), this.getExpression(), null, "condition", null, 0, 1, + ConditionalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getConditionalExpression_Then(), this.getExpression(), null, "then", null, 0, 1, + ConditionalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getConditionalExpression_Else(), this.getExpression(), null, "else", null, 0, 1, + ConditionalExpression.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(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(letExpressionEClass, LetExpression.class, "LetExpression", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getLetExpression_Bindings(), this.getLetBinding(), null, "bindings", null, 0, -1, + LetExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLetExpression_Body(), this.getExpression(), null, "body", null, 0, 1, LetExpression.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_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); + initEReference(getLetBinding_Variable(), this.getVariable(), 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); + initEAttribute(getLetBinding_Name(), ecorePackage.getEString(), "name", null, 0, 1, LetBinding.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLetBinding_Type(), this.getSymbol(), null, "type", 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(literalEClass, Literal.class, "Literal", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(intLiteralEClass, IntLiteral.class, "IntLiteral", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getIntLiteral_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntLiteral.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(realLiteralEClass, RealLiteral.class, "RealLiteral", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getRealLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, RealLiteral.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + 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(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(emptyLiteralEClass, EmptyLiteral.class, "EmptyLiteral", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + 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_TargetType(), this.getSymbol(), null, "targetType", 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(aggregateExpressionEClass, AggregateExpression.class, "AggregateExpression", IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAggregateExpression_ForallVariables(), this.getVariable(), null, "forallVariables", null, 0, + -1, AggregateExpression.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAggregateExpression_Condition(), this.getExpression(), null, "condition", null, 0, 1, + AggregateExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getAggregation_Value(), this.getExpression(), null, "value", 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_Op(), this.getSymbol(), 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); + + initEClass(forallEClass, Forall.class, "Forall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getForall_Body(), this.getExpression(), null, "body", null, 0, 1, Forall.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + + initEClass(typeReferenceEClass, TypeReference.class, "TypeReference", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getTypeReference_ForceObjectType(), ecorePackage.getEBoolean(), "forceObjectType", null, 0, 1, + TypeReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEReference(getTypeReference_Type(), this.getSymbol(), null, "type", null, 0, 1, TypeReference.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + 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(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(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(baseRelationEClass, BaseRelation.class, "BaseRelation", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(datatypeEClass, Datatype.class, "Datatype", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(functionEClass, Function.class, "Function", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunction_ResultType(), this.getDatatype(), null, "resultType", null, 0, 1, Function.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(metricEClass, Metric.class, "Metric", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(operatorEClass, Operator.class, "Operator", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNode_Named(), ecorePackage.getEBoolean(), "named", null, 0, 1, Node.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(statementEClass, Statement.class, "Statement", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(abstractAssertionEClass, AbstractAssertion.class, "AbstractAssertion", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getAbstractAssertion_Expression(), this.getExpression(), null, "expression", null, 0, 1, + AbstractAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAbstractAssertion_Range(), this.getExpression(), null, "range", null, 0, 1, + AbstractAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(functorDefinitonEClass, FunctorDefiniton.class, "FunctorDefiniton", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunctorDefiniton_Head(), this.getExpression(), null, "head", null, 0, 1, + FunctorDefiniton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getFunctorDefiniton_Body(), this.getExpression(), null, "body", null, 0, 1, + FunctorDefiniton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(functionDefinitionEClass, FunctionDefinition.class, "FunctionDefinition", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunctionDefinition_ResultType(), this.getSymbol(), null, "resultType", null, 0, 1, + FunctionDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(attributeEClass, Attribute.class, "Attribute", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getAttribute_Target(), this.getSymbol(), null, "target", null, 0, 1, Attribute.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAttribute_Kind(), this.getAttributeKind(), "kind", null, 0, 1, Attribute.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externDeclarationEClass, ExternDeclaration.class, "ExternDeclaration", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExternDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, + ExternDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + + initEClass(externFunctorDeclarationEClass, ExternFunctorDeclaration.class, "ExternFunctorDeclaration", + IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExternFunctorDeclaration_ArgumentList(), this.getArgumentList(), null, "argumentList", null, + 0, 1, ExternFunctorDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externPredicateDeclarationEClass, ExternPredicateDeclaration.class, "ExternPredicateDeclaration", + !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(externFunctionDeclarationEClass, ExternFunctionDeclaration.class, "ExternFunctionDeclaration", + !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExternFunctionDeclaration_ResultType(), this.getSymbol(), null, "resultType", null, 0, 1, + ExternFunctionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externAggregationOperatorDeclarationEClass, ExternAggregationOperatorDeclaration.class, + "ExternAggregationOperatorDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExternAggregationOperatorDeclaration_ArgumentType(), this.getSymbol(), null, "argumentType", + null, 0, 1, ExternAggregationOperatorDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternAggregationOperatorDeclaration_ResultType(), this.getSymbol(), null, "resultType", null, + 0, 1, ExternAggregationOperatorDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externDatatypeDeclarationEClass, ExternDatatypeDeclaration.class, "ExternDatatypeDeclaration", + !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(classDeclarationEClass, ClassDeclaration.class, "ClassDeclaration", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getClassDeclaration_Fields(), this.getField(), null, "fields", null, 0, -1, + ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getClassDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, + ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getClassDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, + ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEReference(getClassDeclaration_Supertypes(), this.getSymbol(), null, "supertypes", null, 0, -1, + ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getClassDeclaration_Root(), ecorePackage.getEBoolean(), "root", null, 0, 1, + ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + + initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getEnumDeclaration_Literals(), this.getEnumLiteral(), null, "literals", null, 0, -1, + EnumDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getEnumDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, EnumDeclaration.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(enumLiteralEClass, EnumLiteral.class, "EnumLiteral", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEnumLiteral_Name(), ecorePackage.getEString(), "name", null, 0, 1, EnumLiteral.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(fieldEClass, Field.class, "Field", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getField_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, Field.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getField_CrossReference(), ecorePackage.getEBoolean(), "crossReference", null, 0, 1, Field.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getField_Opposite(), this.getSymbol(), null, "opposite", null, 0, 1, Field.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEReference(getField_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1, Field.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getField_Type(), this.getSymbol(), null, "type", null, 0, 1, Field.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEAttribute(getField_Name(), ecorePackage.getEString(), "name", null, 0, 1, Field.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(defaultAssertionEClass, DefaultAssertion.class, "DefaultAssertion", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExactMultiplicity_Value(), ecorePackage.getEInt(), "value", 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(inlinePredicateAttrributesEClass, InlinePredicateAttrributes.class, "InlinePredicateAttrributes", + IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getInlinePredicateAttrributes_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1, + InlinePredicateAttrributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getInlinePredicateAttrributes_Functional(), ecorePackage.getEBoolean(), "functional", null, 0, 1, + InlinePredicateAttrributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(aggregationOperatorEClass, AggregationOperator.class, "AggregationOperator", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAggregationOperator_ArgumentType(), this.getDatatype(), null, "argumentType", null, 0, 1, + AggregationOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAggregationOperator_ResultType(), this.getDatatype(), null, "resultType", null, 0, 1, + AggregationOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getProblem_Name(), ecorePackage.getEString(), "name", null, 0, 1, Problem.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + 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); + initEReference(getProblem_Symbols(), this.getSymbol(), null, "symbols", null, 0, -1, Problem.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEReference(getProblem_Imports(), this.getImport(), null, "imports", 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(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(typedVariableArgumentEClass, TypedVariableArgument.class, "TypedVariableArgument", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getTypedVariableArgument_Name(), ecorePackage.getEString(), "name", null, 0, 1, + TypedVariableArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(unnamedErrorPredicateDefintionEClass, UnnamedErrorPredicateDefintion.class, + "UnnamedErrorPredicateDefintion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getUnnamedErrorPredicateDefintion_ArgumentList(), this.getArgumentList(), null, "argumentList", + null, 0, 1, UnnamedErrorPredicateDefintion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getUnnamedErrorPredicateDefintion_Body(), this.getExpression(), null, "body", null, 0, 1, + UnnamedErrorPredicateDefintion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(objectiveDeclarationEClass, ObjectiveDeclaration.class, "ObjectiveDeclaration", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getObjectiveDeclaration_Kind(), this.getObjectiveKind(), "kind", null, 0, 1, + ObjectiveDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getObjectiveDeclaration_Objective(), this.getExpression(), null, "objective", null, 0, 1, + ObjectiveDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(scopeDeclarationEClass, ScopeDeclaration.class, "ScopeDeclaration", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getScopeDeclaration_Type(), this.getSymbol(), null, "type", null, 0, 1, ScopeDeclaration.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(exactScopeEClass, ExactScope.class, "ExactScope", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExactScope_Size(), ecorePackage.getEInt(), "size", null, 0, 1, ExactScope.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(boundedScopeEClass, BoundedScope.class, "BoundedScope", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getBoundedScope_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, + BoundedScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getBoundedScope_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, + BoundedScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + + initEClass(lowerBoundedScopeEClass, LowerBoundedScope.class, "LowerBoundedScope", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getLowerBoundedScope_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, + LowerBoundedScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + + initEClass(namespaceImportEClass, NamespaceImport.class, "NamespaceImport", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNamespaceImport_ImportedNamespace(), ecorePackage.getEString(), "importedNamespace", null, 0, + 1, NamespaceImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + + initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getImport_Alias(), ecorePackage.getEString(), "alias", null, 0, 1, Import.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(uriImportEClass, UriImport.class, "UriImport", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getUriImport_Uri(), ecorePackage.getEString(), "uri", null, 0, 1, UriImport.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(unaryOperatorEEnum, UnaryOperator.class, "UnaryOperator"); + addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.NOT); + addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.PLUS); + addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.MINUS); + addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.MAYBE); + + initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator"); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.PLUS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MINUS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MULTIPLY); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIVIDE); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQUALS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQUALS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQUALS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQUALS); + + initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); + addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN); + addEEnumLiteral(logicValueEEnum, LogicValue.FALSE); + addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); + addEEnumLiteral(logicValueEEnum, LogicValue.ERROR); + + initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind"); + addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZATION); + addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZATION); + + initEEnum(attributeKindEEnum, AttributeKind.class, "AttributeKind"); + addEEnumLiteral(attributeKindEEnum, AttributeKind.FUNCTIONAL); + addEEnumLiteral(attributeKindEEnum, AttributeKind.ERROR); + addEEnumLiteral(attributeKindEEnum, AttributeKind.ROOT); + addEEnumLiteral(attributeKindEEnum, AttributeKind.CONTAINMENT); + + // Create resource + createResource(eNS_URI); + } + +} //SolverLanguagePackageImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java new file mode 100644 index 00000000..63dd9e11 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java @@ -0,0 +1,37 @@ +/** + */ +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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java new file mode 100644 index 00000000..36404986 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java @@ -0,0 +1,39 @@ +/** + */ +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 abstract 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java new file mode 100644 index 00000000..8b321f80 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java @@ -0,0 +1,164 @@ +/** + */ +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 + */ + public String getValue() { + return value; + } + + /** + * + * + * @generated + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java new file mode 100644 index 00000000..df89831b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java @@ -0,0 +1,150 @@ +/** + */ +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 + */ + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java new file mode 100644 index 00000000..a9f76acb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java @@ -0,0 +1,164 @@ +/** + */ +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.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; + +/** + * + * An implementation of the model object 'Symbol'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl#getName Name}
  • + *
+ * + * @generated + */ +public abstract class SymbolImpl extends MinimalEObjectImpl.Container implements Symbol { + /** + * 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 SymbolImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.SYMBOL; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SYMBOL__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.SYMBOL__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.SYMBOL__NAME: + setName((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SYMBOL__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.SYMBOL__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(); + } + +} //SymbolImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java new file mode 100644 index 00000000..a3c76e63 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypeReferenceImpl.java @@ -0,0 +1,230 @@ +/** + */ +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.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Symbol; +import org.eclipse.viatra.solver.language.solverLanguage.TypeReference; + +/** + * + * An implementation of the model object 'Type Reference'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl#isForceObjectType Force Object Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypeReferenceImpl#getType Type}
  • + *
+ * + * @generated + */ +public class TypeReferenceImpl extends MinimalEObjectImpl.Container implements TypeReference { + /** + * The default value of the '{@link #isForceObjectType() Force Object Type}' attribute. + * + * + * @see #isForceObjectType() + * @generated + * @ordered + */ + protected static final boolean FORCE_OBJECT_TYPE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isForceObjectType() Force Object Type}' attribute. + * + * + * @see #isForceObjectType() + * @generated + * @ordered + */ + protected boolean forceObjectType = FORCE_OBJECT_TYPE_EDEFAULT; + + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Symbol type; + + /** + * + * + * @generated + */ + protected TypeReferenceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.TYPE_REFERENCE; + } + + /** + * + * + * @generated + */ + public boolean isForceObjectType() { + return forceObjectType; + } + + /** + * + * + * @generated + */ + public void setForceObjectType(boolean newForceObjectType) { + boolean oldForceObjectType = forceObjectType; + forceObjectType = newForceObjectType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE, oldForceObjectType, forceObjectType)); + } + + /** + * + * + * @generated + */ + public Symbol getType() { + if (type != null && type.eIsProxy()) { + InternalEObject oldType = (InternalEObject) type; + type = (Symbol) eResolveProxy(oldType); + if (type != oldType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + SolverLanguagePackage.TYPE_REFERENCE__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public Symbol basicGetType() { + return type; + } + + /** + * + * + * @generated + */ + public void setType(Symbol newType) { + Symbol oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPE_REFERENCE__TYPE, oldType, + type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE: + return isForceObjectType(); + case SolverLanguagePackage.TYPE_REFERENCE__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.TYPE_REFERENCE__FORCE_OBJECT_TYPE: + setForceObjectType((Boolean) newValue); + return; + case SolverLanguagePackage.TYPE_REFERENCE__TYPE: + setType((Symbol) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE: + setForceObjectType(FORCE_OBJECT_TYPE_EDEFAULT); + return; + case SolverLanguagePackage.TYPE_REFERENCE__TYPE: + setType((Symbol) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPE_REFERENCE__FORCE_OBJECT_TYPE: + return forceObjectType != FORCE_OBJECT_TYPE_EDEFAULT; + case SolverLanguagePackage.TYPE_REFERENCE__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (forceObjectType: "); + result.append(forceObjectType); + result.append(')'); + return result.toString(); + } + +} //TypeReferenceImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java new file mode 100644 index 00000000..89778fc9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java @@ -0,0 +1,182 @@ +/** + */ +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.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.TypeReference; +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#getTypeReference Type Reference}
  • + *
+ * + * @generated + */ +public abstract class TypedArgumentImpl extends ArgumentImpl implements TypedArgument { + /** + * The cached value of the '{@link #getTypeReference() Type Reference}' containment reference. + * + * + * @see #getTypeReference() + * @generated + * @ordered + */ + protected TypeReference typeReference; + + /** + * + * + * @generated + */ + protected TypedArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.TYPED_ARGUMENT; + } + + /** + * + * + * @generated + */ + public TypeReference getTypeReference() { + return typeReference; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetTypeReference(TypeReference newTypeReference, NotificationChain msgs) { + TypeReference oldTypeReference = typeReference; + typeReference = newTypeReference; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE, oldTypeReference, newTypeReference); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setTypeReference(TypeReference newTypeReference) { + if (newTypeReference != typeReference) { + NotificationChain msgs = null; + if (typeReference != null) + msgs = ((InternalEObject) typeReference).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE, null, msgs); + if (newTypeReference != null) + msgs = ((InternalEObject) newTypeReference).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE, null, msgs); + msgs = basicSetTypeReference(newTypeReference, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE, + newTypeReference, newTypeReference)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE: + return basicSetTypeReference(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE: + return getTypeReference(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE: + setTypeReference((TypeReference) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE: + setTypeReference((TypeReference) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE_REFERENCE: + return typeReference != null; + } + return super.eIsSet(featureID); + } + +} //TypedArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java new file mode 100644 index 00000000..ebee59b6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java @@ -0,0 +1,37 @@ +/** + */ +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.TypedStarArgument; + +/** + * + * An implementation of the model object 'Typed Star Argument'. + * + * + * @generated + */ +public class TypedStarArgumentImpl extends TypedArgumentImpl implements TypedStarArgument { + /** + * + * + * @generated + */ + protected TypedStarArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT; + } + +} //TypedStarArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java new file mode 100644 index 00000000..6c83d121 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedVariableArgumentImpl.java @@ -0,0 +1,164 @@ +/** + */ +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.TypedVariableArgument; + +/** + * + * An implementation of the model object 'Typed Variable Argument'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedVariableArgumentImpl#getName Name}
  • + *
+ * + * @generated + */ +public class TypedVariableArgumentImpl extends TypedArgumentImpl implements TypedVariableArgument { + /** + * 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 TypedVariableArgumentImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.TYPED_VARIABLE_ARGUMENT; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__NAME, + oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__NAME: + setName((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT__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(); + } + +} //TypedVariableArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java new file mode 100644 index 00000000..11291304 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java @@ -0,0 +1,253 @@ +/** + */ +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.UnaryOperator; + +/** + * + * An implementation of the model object 'Unary Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getOp Op}
  • + *
+ * + * @generated + */ +public class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression { + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final UnaryOperator OP_EDEFAULT = UnaryOperator.NOT; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected UnaryOperator op = OP_EDEFAULT; + + /** + * + * + * @generated + */ + protected UnaryExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.UNARY_EXPRESSION; + } + + /** + * + * + * @generated + */ + 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 + */ + 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 + */ + public UnaryOperator getOp() { + return op; + } + + /** + * + * + * @generated + */ + public void setOp(UnaryOperator newOp) { + UnaryOperator 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 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__BODY: + return getBody(); + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + return getOp(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + setBody((Expression) newValue); + return; + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + setOp((UnaryOperator) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + setBody((Expression) null); + return; + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + setOp(OP_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + return body != null; + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + return op != OP_EDEFAULT; + } + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java new file mode 100644 index 00000000..d63928d6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnboundedMultiplicityImpl.java @@ -0,0 +1,37 @@ +/** + */ +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.UnboundedMultiplicity; + +/** + * + * An implementation of the model object 'Unbounded Multiplicity'. + * + * + * @generated + */ +public class UnboundedMultiplicityImpl extends MultiplicityImpl implements UnboundedMultiplicity { + /** + * + * + * @generated + */ + protected UnboundedMultiplicityImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.UNBOUNDED_MULTIPLICITY; + } + +} //UnboundedMultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java new file mode 100644 index 00000000..87f259a0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPredicateDefintionImpl.java @@ -0,0 +1,262 @@ +/** + */ +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.UnnamedErrorPredicateDefintion; + +/** + * + * An implementation of the model object 'Unnamed Error Predicate Defintion'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl#getArgumentList Argument List}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPredicateDefintionImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class UnnamedErrorPredicateDefintionImpl extends StatementImpl implements UnnamedErrorPredicateDefintion { + /** + * 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 UnnamedErrorPredicateDefintionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION; + } + + /** + * + * + * @generated + */ + 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_PREDICATE_DEFINTION__ARGUMENT_LIST, oldArgumentList, + newArgumentList); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + 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_PREDICATE_DEFINTION__ARGUMENT_LIST, + null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject) newArgumentList).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__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_PREDICATE_DEFINTION__ARGUMENT_LIST, newArgumentList, + newArgumentList)); + } + + /** + * + * + * @generated + */ + 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_PREDICATE_DEFINTION__BODY, oldBody, newBody); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + 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_PREDICATE_DEFINTION__BODY, null, + msgs); + if (newBody != null) + msgs = ((InternalEObject) newBody).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY, null, + msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST: + return basicSetArgumentList(null, msgs); + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__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_PREDICATE_DEFINTION__ARGUMENT_LIST: + return getArgumentList(); + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST: + setArgumentList((ArgumentList) newValue); + return; + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY: + setBody((Expression) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST: + setArgumentList((ArgumentList) null); + return; + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY: + setBody((Expression) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST: + return argumentList != null; + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //UnnamedErrorPredicateDefintionImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java new file mode 100644 index 00000000..494f80d9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UriImportImpl.java @@ -0,0 +1,163 @@ +/** + */ +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.UriImport; + +/** + * + * An implementation of the model object 'Uri Import'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UriImportImpl#getUri Uri}
  • + *
+ * + * @generated + */ +public class UriImportImpl extends ImportImpl implements UriImport { + /** + * The default value of the '{@link #getUri() Uri}' attribute. + * + * + * @see #getUri() + * @generated + * @ordered + */ + protected static final String URI_EDEFAULT = null; + + /** + * The cached value of the '{@link #getUri() Uri}' attribute. + * + * + * @see #getUri() + * @generated + * @ordered + */ + protected String uri = URI_EDEFAULT; + + /** + * + * + * @generated + */ + protected UriImportImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.URI_IMPORT; + } + + /** + * + * + * @generated + */ + public String getUri() { + return uri; + } + + /** + * + * + * @generated + */ + public void setUri(String newUri) { + String oldUri = uri; + uri = newUri; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.URI_IMPORT__URI, oldUri, uri)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.URI_IMPORT__URI: + return getUri(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.URI_IMPORT__URI: + setUri((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.URI_IMPORT__URI: + setUri(URI_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.URI_IMPORT__URI: + return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (uri: "); + result.append(uri); + result.append(')'); + return result.toString(); + } + +} //UriImportImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java new file mode 100644 index 00000000..7b92840a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java @@ -0,0 +1,182 @@ +/** + */ +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.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.TypeReference; +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#getTypeReference Type Reference}
  • + *
+ * + * @generated + */ +public class VariableImpl extends SymbolImpl implements Variable { + /** + * The cached value of the '{@link #getTypeReference() Type Reference}' containment reference. + * + * + * @see #getTypeReference() + * @generated + * @ordered + */ + protected TypeReference typeReference; + + /** + * + * + * @generated + */ + protected VariableImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.VARIABLE; + } + + /** + * + * + * @generated + */ + public TypeReference getTypeReference() { + return typeReference; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetTypeReference(TypeReference newTypeReference, NotificationChain msgs) { + TypeReference oldTypeReference = typeReference; + typeReference = newTypeReference; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + SolverLanguagePackage.VARIABLE__TYPE_REFERENCE, oldTypeReference, newTypeReference); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setTypeReference(TypeReference newTypeReference) { + if (newTypeReference != typeReference) { + NotificationChain msgs = null; + if (typeReference != null) + msgs = ((InternalEObject) typeReference).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.VARIABLE__TYPE_REFERENCE, null, msgs); + if (newTypeReference != null) + msgs = ((InternalEObject) newTypeReference).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.VARIABLE__TYPE_REFERENCE, null, msgs); + msgs = basicSetTypeReference(newTypeReference, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__TYPE_REFERENCE, + newTypeReference, newTypeReference)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE: + return basicSetTypeReference(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE: + return getTypeReference(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE: + setTypeReference((TypeReference) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE: + setTypeReference((TypeReference) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE_REFERENCE: + return typeReference != null; + } + return super.eIsSet(featureID); + } + +} //VariableImpl diff --git a/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java new file mode 100644 index 00000000..f182e6d2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java @@ -0,0 +1,1620 @@ +/** + */ +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 casePathComponent(PathComponent object) { + return createPathComponentAdapter(); + } + + @Override + public Adapter caseSymbol(Symbol object) { + return createSymbolAdapter(); + } + + @Override + public Adapter caseCall(Call object) { + return createCallAdapter(); + } + + @Override + public Adapter caseReference(Reference object) { + return createReferenceAdapter(); + } + + @Override + public Adapter caseExpression(Expression object) { + return createExpressionAdapter(); + } + + @Override + public Adapter caseArgument(Argument object) { + return createArgumentAdapter(); + } + + @Override + public Adapter caseArgumentList(ArgumentList object) { + return createArgumentListAdapter(); + } + + @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 caseMultiaryExpession(MultiaryExpession object) { + return createMultiaryExpessionAdapter(); + } + + @Override + public Adapter caseVariable(Variable object) { + return createVariableAdapter(); + } + + @Override + public Adapter caseUnaryExpression(UnaryExpression object) { + return createUnaryExpressionAdapter(); + } + + @Override + public Adapter caseBinaryExpression(BinaryExpression object) { + return createBinaryExpressionAdapter(); + } + + @Override + public Adapter caseDisjunction(Disjunction object) { + return createDisjunctionAdapter(); + } + + @Override + public Adapter caseConjunction(Conjunction object) { + return createConjunctionAdapter(); + } + + @Override + public Adapter caseConditionalExpression(ConditionalExpression object) { + return createConditionalExpressionAdapter(); + } + + @Override + public Adapter caseSwitch(Switch object) { + return createSwitchAdapter(); + } + + @Override + public Adapter caseCase(Case object) { + return createCaseAdapter(); + } + + @Override + public Adapter caseLetExpression(LetExpression object) { + return createLetExpressionAdapter(); + } + + @Override + public Adapter caseLetBinding(LetBinding object) { + return createLetBindingAdapter(); + } + + @Override + public Adapter caseLiteral(Literal object) { + return createLiteralAdapter(); + } + + @Override + public Adapter caseIntLiteral(IntLiteral object) { + return createIntLiteralAdapter(); + } + + @Override + public Adapter caseRealLiteral(RealLiteral object) { + return createRealLiteralAdapter(); + } + + @Override + public Adapter caseStringLiteral(StringLiteral object) { + return createStringLiteralAdapter(); + } + + @Override + public Adapter caseLogicLiteral(LogicLiteral object) { + return createLogicLiteralAdapter(); + } + + @Override + public Adapter caseEmptyLiteral(EmptyLiteral object) { + return createEmptyLiteralAdapter(); + } + + @Override + public Adapter caseCastExpression(CastExpression object) { + return createCastExpressionAdapter(); + } + + @Override + public Adapter caseAggregateExpression(AggregateExpression object) { + return createAggregateExpressionAdapter(); + } + + @Override + public Adapter caseCount(Count object) { + return createCountAdapter(); + } + + @Override + public Adapter caseAggregation(Aggregation object) { + return createAggregationAdapter(); + } + + @Override + public Adapter caseForall(Forall object) { + return createForallAdapter(); + } + + @Override + public Adapter caseTypeReference(TypeReference object) { + return createTypeReferenceAdapter(); + } + + @Override + public Adapter caseInfinityLiteral(InfinityLiteral object) { + return createInfinityLiteralAdapter(); + } + + @Override + public Adapter caseInterval(Interval object) { + return createIntervalAdapter(); + } + + @Override + public Adapter caseFunctor(Functor object) { + return createFunctorAdapter(); + } + + @Override + public Adapter caseRelation(Relation object) { + return createRelationAdapter(); + } + + @Override + public Adapter caseBaseRelation(BaseRelation object) { + return createBaseRelationAdapter(); + } + + @Override + public Adapter casePredicate(Predicate object) { + return createPredicateAdapter(); + } + + @Override + public Adapter caseDatatype(Datatype object) { + return createDatatypeAdapter(); + } + + @Override + public Adapter caseFunction(Function object) { + return createFunctionAdapter(); + } + + @Override + public Adapter caseMetric(Metric object) { + return createMetricAdapter(); + } + + @Override + public Adapter caseOperator(Operator object) { + return createOperatorAdapter(); + } + + @Override + public Adapter caseNode(Node object) { + return createNodeAdapter(); + } + + @Override + public Adapter caseStatement(Statement object) { + return createStatementAdapter(); + } + + @Override + public Adapter caseAbstractAssertion(AbstractAssertion object) { + return createAbstractAssertionAdapter(); + } + + @Override + public Adapter caseFunctorDefiniton(FunctorDefiniton object) { + return createFunctorDefinitonAdapter(); + } + + @Override + public Adapter casePredicateDefinition(PredicateDefinition object) { + return createPredicateDefinitionAdapter(); + } + + @Override + public Adapter caseFunctionDefinition(FunctionDefinition object) { + return createFunctionDefinitionAdapter(); + } + + @Override + public Adapter caseAttribute(Attribute object) { + return createAttributeAdapter(); + } + + @Override + public Adapter caseExternDeclaration(ExternDeclaration object) { + return createExternDeclarationAdapter(); + } + + @Override + public Adapter caseExternFunctorDeclaration(ExternFunctorDeclaration object) { + return createExternFunctorDeclarationAdapter(); + } + + @Override + public Adapter caseExternPredicateDeclaration(ExternPredicateDeclaration object) { + return createExternPredicateDeclarationAdapter(); + } + + @Override + public Adapter caseExternFunctionDeclaration(ExternFunctionDeclaration object) { + return createExternFunctionDeclarationAdapter(); + } + + @Override + public Adapter caseExternAggregationOperatorDeclaration(ExternAggregationOperatorDeclaration object) { + return createExternAggregationOperatorDeclarationAdapter(); + } + + @Override + public Adapter caseExternDatatypeDeclaration(ExternDatatypeDeclaration object) { + return createExternDatatypeDeclarationAdapter(); + } + + @Override + public Adapter caseClassDeclaration(ClassDeclaration object) { + return createClassDeclarationAdapter(); + } + + @Override + public Adapter caseEnumDeclaration(EnumDeclaration object) { + return createEnumDeclarationAdapter(); + } + + @Override + public Adapter caseEnumLiteral(EnumLiteral object) { + return createEnumLiteralAdapter(); + } + + @Override + public Adapter caseField(Field object) { + return createFieldAdapter(); + } + + @Override + public Adapter caseMultiplicity(Multiplicity object) { + return createMultiplicityAdapter(); + } + + @Override + public Adapter caseDefaultAssertion(DefaultAssertion object) { + return createDefaultAssertionAdapter(); + } + + @Override + public Adapter caseAssertion(Assertion object) { + return createAssertionAdapter(); + } + + @Override + public Adapter caseUnboundedMultiplicity(UnboundedMultiplicity object) { + return createUnboundedMultiplicityAdapter(); + } + + @Override + public Adapter caseExactMultiplicity(ExactMultiplicity object) { + return createExactMultiplicityAdapter(); + } + + @Override + public Adapter caseBoundedMultiplicity(BoundedMultiplicity object) { + return createBoundedMultiplicityAdapter(); + } + + @Override + public Adapter caseInlinePredicateAttrributes(InlinePredicateAttrributes object) { + return createInlinePredicateAttrributesAdapter(); + } + + @Override + public Adapter caseAggregationOperator(AggregationOperator object) { + return createAggregationOperatorAdapter(); + } + + @Override + public Adapter caseProblem(Problem object) { + return createProblemAdapter(); + } + + @Override + public Adapter caseTypedStarArgument(TypedStarArgument object) { + return createTypedStarArgumentAdapter(); + } + + @Override + public Adapter caseTypedVariableArgument(TypedVariableArgument object) { + return createTypedVariableArgumentAdapter(); + } + + @Override + public Adapter caseUnnamedErrorPredicateDefintion(UnnamedErrorPredicateDefintion object) { + return createUnnamedErrorPredicateDefintionAdapter(); + } + + @Override + public Adapter caseObjectiveDeclaration(ObjectiveDeclaration object) { + return createObjectiveDeclarationAdapter(); + } + + @Override + public Adapter caseScopeDeclaration(ScopeDeclaration object) { + return createScopeDeclarationAdapter(); + } + + @Override + public Adapter caseExactScope(ExactScope object) { + return createExactScopeAdapter(); + } + + @Override + public Adapter caseBoundedScope(BoundedScope object) { + return createBoundedScopeAdapter(); + } + + @Override + public Adapter caseLowerBoundedScope(LowerBoundedScope object) { + return createLowerBoundedScopeAdapter(); + } + + @Override + public Adapter caseNamespaceImport(NamespaceImport object) { + return createNamespaceImportAdapter(); + } + + @Override + public Adapter caseImport(Import object) { + return createImportAdapter(); + } + + @Override + public Adapter caseUriImport(UriImport object) { + return createUriImportAdapter(); + } + + @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.PathComponent Path Component}'. + * + * 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.PathComponent + * @generated + */ + public Adapter createPathComponentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol Symbol}'. + * + * 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.Symbol + * @generated + */ + public Adapter createSymbolAdapter() { + 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.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.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.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.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.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.MultiaryExpession Multiary Expession}'. + * + * 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.MultiaryExpession + * @generated + */ + public Adapter createMultiaryExpessionAdapter() { + 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.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.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.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.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.ConditionalExpression Conditional 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.ConditionalExpression + * @generated + */ + public Adapter createConditionalExpressionAdapter() { + 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.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.LetExpression Let 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.LetExpression + * @generated + */ + public Adapter createLetExpressionAdapter() { + 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.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.IntLiteral Int 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.IntLiteral + * @generated + */ + public Adapter createIntLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealLiteral Real 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.RealLiteral + * @generated + */ + public Adapter createRealLiteralAdapter() { + 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.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.EmptyLiteral Empty 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.EmptyLiteral + * @generated + */ + public Adapter createEmptyLiteralAdapter() { + 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.AggregateExpression Aggregate 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.AggregateExpression + * @generated + */ + public Adapter createAggregateExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count Count}'. + * + * 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.Count + * @generated + */ + public Adapter createCountAdapter() { + 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.Forall Forall}'. + * + * 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.Forall + * @generated + */ + public Adapter createForallAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypeReference Type 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.TypeReference + * @generated + */ + public Adapter createTypeReferenceAdapter() { + 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.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.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.Relation Relation}'. + * + * 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.Relation + * @generated + */ + public Adapter createRelationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BaseRelation Base Relation}'. + * + * 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.BaseRelation + * @generated + */ + public Adapter createBaseRelationAdapter() { + 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.Datatype Datatype}'. + * + * 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.Datatype + * @generated + */ + public Adapter createDatatypeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Function Function}'. + * + * 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.Function + * @generated + */ + public Adapter createFunctionAdapter() { + 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 an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Operator Operator}'. + * + * 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.Operator + * @generated + */ + public Adapter createOperatorAdapter() { + 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.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.AbstractAssertion Abstract Assertion}'. + * + * 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.AbstractAssertion + * @generated + */ + public Adapter createAbstractAssertionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.FunctorDefiniton Functor Definiton}'. + * + * 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.FunctorDefiniton + * @generated + */ + public Adapter createFunctorDefinitonAdapter() { + 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.FunctionDefinition Function 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.FunctionDefinition + * @generated + */ + public Adapter createFunctionDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Attribute Attribute}'. + * + * 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.Attribute + * @generated + */ + public Adapter createAttributeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDeclaration Extern Declaration}'. + * + * 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.ExternDeclaration + * @generated + */ + public Adapter createExternDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctorDeclaration Extern Functor Declaration}'. + * + * 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.ExternFunctorDeclaration + * @generated + */ + public Adapter createExternFunctorDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDeclaration Extern Predicate Declaration}'. + * + * 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.ExternPredicateDeclaration + * @generated + */ + public Adapter createExternPredicateDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration Extern Function Declaration}'. + * + * 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.ExternFunctionDeclaration + * @generated + */ + public Adapter createExternFunctionDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregationOperatorDeclaration Extern Aggregation Operator Declaration}'. + * + * 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.ExternAggregationOperatorDeclaration + * @generated + */ + public Adapter createExternAggregationOperatorDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration Extern Datatype Declaration}'. + * + * 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.ExternDatatypeDeclaration + * @generated + */ + public Adapter createExternDatatypeDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDeclaration Class Declaration}'. + * + * 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.ClassDeclaration + * @generated + */ + public Adapter createClassDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration Enum Declaration}'. + * + * 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.EnumDeclaration + * @generated + */ + public Adapter createEnumDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral Enum 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.EnumLiteral + * @generated + */ + public Adapter createEnumLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Field Field}'. + * + * 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.Field + * @generated + */ + public Adapter createFieldAdapter() { + 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.DefaultAssertion Default Assertion}'. + * + * 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.DefaultAssertion + * @generated + */ + public Adapter createDefaultAssertionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion Assertion}'. + * + * 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.Assertion + * @generated + */ + public Adapter createAssertionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnboundedMultiplicity Unbounded 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.UnboundedMultiplicity + * @generated + */ + public Adapter createUnboundedMultiplicityAdapter() { + 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.InlinePredicateAttrributes Inline Predicate Attrributes}'. + * + * 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.InlinePredicateAttrributes + * @generated + */ + public Adapter createInlinePredicateAttrributesAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOperator Aggregation Operator}'. + * + * 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.AggregationOperator + * @generated + */ + public Adapter createAggregationOperatorAdapter() { + return null; + } + + /** + * 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.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.TypedVariableArgument Typed Variable 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.TypedVariableArgument + * @generated + */ + public Adapter createTypedVariableArgumentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion Unnamed Error Predicate Defintion}'. + * + * 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.UnnamedErrorPredicateDefintion + * @generated + */ + public Adapter createUnnamedErrorPredicateDefintionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration Objective Declaration}'. + * + * 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.ObjectiveDeclaration + * @generated + */ + public Adapter createObjectiveDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDeclaration Scope Declaration}'. + * + * 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.ScopeDeclaration + * @generated + */ + public Adapter createScopeDeclarationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScope Exact Scope}'. + * + * 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.ExactScope + * @generated + */ + public Adapter createExactScopeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScope Bounded Scope}'. + * + * 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.BoundedScope + * @generated + */ + public Adapter createBoundedScopeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope Lower Bounded Scope}'. + * + * 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.LowerBoundedScope + * @generated + */ + public Adapter createLowerBoundedScopeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport Namespace Import}'. + * + * 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.NamespaceImport + * @generated + */ + public Adapter createNamespaceImportAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Import Import}'. + * + * 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.Import + * @generated + */ + public Adapter createImportAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UriImport Uri Import}'. + * + * 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.UriImport + * @generated + */ + public Adapter createUriImportAdapter() { + 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.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java new file mode 100644 index 00000000..4786bb62 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java @@ -0,0 +1,2114 @@ +/** + */ +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.PATH_COMPONENT: { + PathComponent pathComponent = (PathComponent) theEObject; + T result = casePathComponent(pathComponent); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.SYMBOL: { + Symbol symbol = (Symbol) theEObject; + T result = caseSymbol(symbol); + 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.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.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.ARGUMENT: { + Argument argument = (Argument) theEObject; + T result = caseArgument(argument); + 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.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.MULTIARY_EXPESSION: { + MultiaryExpession multiaryExpession = (MultiaryExpession) theEObject; + T result = caseMultiaryExpession(multiaryExpession); + if (result == null) + result = caseExpression(multiaryExpession); + if (result == null) + result = caseStatement(multiaryExpession); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.VARIABLE: { + Variable variable = (Variable) theEObject; + T result = caseVariable(variable); + if (result == null) + result = caseSymbol(variable); + 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.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.DISJUNCTION: { + Disjunction disjunction = (Disjunction) theEObject; + T result = caseDisjunction(disjunction); + if (result == null) + result = caseMultiaryExpession(disjunction); + if (result == null) + result = caseExpression(disjunction); + if (result == null) + result = caseStatement(disjunction); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CONJUNCTION: { + Conjunction conjunction = (Conjunction) theEObject; + T result = caseConjunction(conjunction); + if (result == null) + result = caseMultiaryExpession(conjunction); + if (result == null) + result = caseExpression(conjunction); + if (result == null) + result = caseStatement(conjunction); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CONDITIONAL_EXPRESSION: { + ConditionalExpression conditionalExpression = (ConditionalExpression) theEObject; + T result = caseConditionalExpression(conditionalExpression); + if (result == null) + result = caseExpression(conditionalExpression); + if (result == null) + result = caseStatement(conditionalExpression); + 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.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.LET_EXPRESSION: { + LetExpression letExpression = (LetExpression) theEObject; + T result = caseLetExpression(letExpression); + if (result == null) + result = caseExpression(letExpression); + if (result == null) + result = caseStatement(letExpression); + 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.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.INT_LITERAL: { + IntLiteral intLiteral = (IntLiteral) theEObject; + T result = caseIntLiteral(intLiteral); + if (result == null) + result = caseLiteral(intLiteral); + if (result == null) + result = caseExpression(intLiteral); + if (result == null) + result = caseStatement(intLiteral); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.REAL_LITERAL: { + RealLiteral realLiteral = (RealLiteral) theEObject; + T result = caseRealLiteral(realLiteral); + if (result == null) + result = caseLiteral(realLiteral); + if (result == null) + result = caseExpression(realLiteral); + if (result == null) + result = caseStatement(realLiteral); + 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.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.EMPTY_LITERAL: { + EmptyLiteral emptyLiteral = (EmptyLiteral) theEObject; + T result = caseEmptyLiteral(emptyLiteral); + if (result == null) + result = caseLiteral(emptyLiteral); + if (result == null) + result = caseExpression(emptyLiteral); + if (result == null) + result = caseStatement(emptyLiteral); + 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.AGGREGATE_EXPRESSION: { + AggregateExpression aggregateExpression = (AggregateExpression) theEObject; + T result = caseAggregateExpression(aggregateExpression); + if (result == null) + result = caseExpression(aggregateExpression); + if (result == null) + result = caseStatement(aggregateExpression); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.COUNT: { + Count count = (Count) theEObject; + T result = caseCount(count); + if (result == null) + result = caseAggregateExpression(count); + if (result == null) + result = caseExpression(count); + if (result == null) + result = caseStatement(count); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.AGGREGATION: { + Aggregation aggregation = (Aggregation) theEObject; + T result = caseAggregation(aggregation); + if (result == null) + result = caseAggregateExpression(aggregation); + if (result == null) + result = caseExpression(aggregation); + if (result == null) + result = caseStatement(aggregation); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.FORALL: { + Forall forall = (Forall) theEObject; + T result = caseForall(forall); + if (result == null) + result = caseAggregateExpression(forall); + if (result == null) + result = caseExpression(forall); + if (result == null) + result = caseStatement(forall); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.TYPE_REFERENCE: { + TypeReference typeReference = (TypeReference) theEObject; + T result = caseTypeReference(typeReference); + 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.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.FUNCTOR: { + Functor functor = (Functor) theEObject; + T result = caseFunctor(functor); + if (result == null) + result = caseSymbol(functor); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.RELATION: { + Relation relation = (Relation) theEObject; + T result = caseRelation(relation); + if (result == null) + result = caseFunctor(relation); + if (result == null) + result = caseSymbol(relation); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.BASE_RELATION: { + BaseRelation baseRelation = (BaseRelation) theEObject; + T result = caseBaseRelation(baseRelation); + if (result == null) + result = caseRelation(baseRelation); + if (result == null) + result = caseFunctor(baseRelation); + if (result == null) + result = caseSymbol(baseRelation); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.PREDICATE: { + Predicate predicate = (Predicate) theEObject; + T result = casePredicate(predicate); + if (result == null) + result = caseRelation(predicate); + if (result == null) + result = caseFunctor(predicate); + if (result == null) + result = caseSymbol(predicate); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.DATATYPE: { + Datatype datatype = (Datatype) theEObject; + T result = caseDatatype(datatype); + if (result == null) + result = caseRelation(datatype); + if (result == null) + result = caseFunctor(datatype); + if (result == null) + result = caseSymbol(datatype); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.FUNCTION: { + Function function = (Function) theEObject; + T result = caseFunction(function); + if (result == null) + result = caseFunctor(function); + if (result == null) + result = caseSymbol(function); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.METRIC: { + Metric metric = (Metric) theEObject; + T result = caseMetric(metric); + if (result == null) + result = caseFunction(metric); + if (result == null) + result = caseFunctor(metric); + if (result == null) + result = caseSymbol(metric); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.OPERATOR: { + Operator operator = (Operator) theEObject; + T result = caseOperator(operator); + if (result == null) + result = caseFunction(operator); + if (result == null) + result = caseFunctor(operator); + if (result == null) + result = caseSymbol(operator); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.NODE: { + Node node = (Node) theEObject; + T result = caseNode(node); + if (result == null) + result = caseSymbol(node); + 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.ABSTRACT_ASSERTION: { + AbstractAssertion abstractAssertion = (AbstractAssertion) theEObject; + T result = caseAbstractAssertion(abstractAssertion); + if (result == null) + result = caseStatement(abstractAssertion); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.FUNCTOR_DEFINITON: { + FunctorDefiniton functorDefiniton = (FunctorDefiniton) theEObject; + T result = caseFunctorDefiniton(functorDefiniton); + if (result == null) + result = caseStatement(functorDefiniton); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.PREDICATE_DEFINITION: { + PredicateDefinition predicateDefinition = (PredicateDefinition) theEObject; + T result = casePredicateDefinition(predicateDefinition); + if (result == null) + result = caseFunctorDefiniton(predicateDefinition); + if (result == null) + result = caseInlinePredicateAttrributes(predicateDefinition); + if (result == null) + result = caseStatement(predicateDefinition); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.FUNCTION_DEFINITION: { + FunctionDefinition functionDefinition = (FunctionDefinition) theEObject; + T result = caseFunctionDefinition(functionDefinition); + if (result == null) + result = caseFunctorDefiniton(functionDefinition); + if (result == null) + result = caseStatement(functionDefinition); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.ATTRIBUTE: { + Attribute attribute = (Attribute) theEObject; + T result = caseAttribute(attribute); + if (result == null) + result = caseStatement(attribute); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_DECLARATION: { + ExternDeclaration externDeclaration = (ExternDeclaration) theEObject; + T result = caseExternDeclaration(externDeclaration); + if (result == null) + result = caseStatement(externDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_FUNCTOR_DECLARATION: { + ExternFunctorDeclaration externFunctorDeclaration = (ExternFunctorDeclaration) theEObject; + T result = caseExternFunctorDeclaration(externFunctorDeclaration); + if (result == null) + result = caseExternDeclaration(externFunctorDeclaration); + if (result == null) + result = caseStatement(externFunctorDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION: { + ExternPredicateDeclaration externPredicateDeclaration = (ExternPredicateDeclaration) theEObject; + T result = caseExternPredicateDeclaration(externPredicateDeclaration); + if (result == null) + result = caseExternFunctorDeclaration(externPredicateDeclaration); + if (result == null) + result = caseInlinePredicateAttrributes(externPredicateDeclaration); + if (result == null) + result = caseExternDeclaration(externPredicateDeclaration); + if (result == null) + result = caseStatement(externPredicateDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION: { + ExternFunctionDeclaration externFunctionDeclaration = (ExternFunctionDeclaration) theEObject; + T result = caseExternFunctionDeclaration(externFunctionDeclaration); + if (result == null) + result = caseExternFunctorDeclaration(externFunctionDeclaration); + if (result == null) + result = caseExternDeclaration(externFunctionDeclaration); + if (result == null) + result = caseStatement(externFunctionDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION: { + ExternAggregationOperatorDeclaration externAggregationOperatorDeclaration = (ExternAggregationOperatorDeclaration) theEObject; + T result = caseExternAggregationOperatorDeclaration(externAggregationOperatorDeclaration); + if (result == null) + result = caseExternDeclaration(externAggregationOperatorDeclaration); + if (result == null) + result = caseStatement(externAggregationOperatorDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_DATATYPE_DECLARATION: { + ExternDatatypeDeclaration externDatatypeDeclaration = (ExternDatatypeDeclaration) theEObject; + T result = caseExternDatatypeDeclaration(externDatatypeDeclaration); + if (result == null) + result = caseExternDeclaration(externDatatypeDeclaration); + if (result == null) + result = caseStatement(externDatatypeDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CLASS_DECLARATION: { + ClassDeclaration classDeclaration = (ClassDeclaration) theEObject; + T result = caseClassDeclaration(classDeclaration); + if (result == null) + result = caseStatement(classDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.ENUM_DECLARATION: { + EnumDeclaration enumDeclaration = (EnumDeclaration) theEObject; + T result = caseEnumDeclaration(enumDeclaration); + if (result == null) + result = caseStatement(enumDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.ENUM_LITERAL: { + EnumLiteral enumLiteral = (EnumLiteral) theEObject; + T result = caseEnumLiteral(enumLiteral); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.FIELD: { + Field field = (Field) theEObject; + T result = caseField(field); + 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.DEFAULT_ASSERTION: { + DefaultAssertion defaultAssertion = (DefaultAssertion) theEObject; + T result = caseDefaultAssertion(defaultAssertion); + if (result == null) + result = caseAbstractAssertion(defaultAssertion); + if (result == null) + result = caseStatement(defaultAssertion); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.ASSERTION: { + Assertion assertion = (Assertion) theEObject; + T result = caseAssertion(assertion); + if (result == null) + result = caseAbstractAssertion(assertion); + if (result == null) + result = caseStatement(assertion); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.UNBOUNDED_MULTIPLICITY: { + UnboundedMultiplicity unboundedMultiplicity = (UnboundedMultiplicity) theEObject; + T result = caseUnboundedMultiplicity(unboundedMultiplicity); + if (result == null) + result = caseMultiplicity(unboundedMultiplicity); + 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.INLINE_PREDICATE_ATTRRIBUTES: { + InlinePredicateAttrributes inlinePredicateAttrributes = (InlinePredicateAttrributes) theEObject; + T result = caseInlinePredicateAttrributes(inlinePredicateAttrributes); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.AGGREGATION_OPERATOR: { + AggregationOperator aggregationOperator = (AggregationOperator) theEObject; + T result = caseAggregationOperator(aggregationOperator); + if (result == null) + result = caseSymbol(aggregationOperator); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.PROBLEM: { + Problem problem = (Problem) theEObject; + T result = caseProblem(problem); + 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 = caseTypedArgument(typedStarArgument); + if (result == null) + result = caseArgument(typedStarArgument); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT: { + TypedVariableArgument typedVariableArgument = (TypedVariableArgument) theEObject; + T result = caseTypedVariableArgument(typedVariableArgument); + if (result == null) + result = caseTypedArgument(typedVariableArgument); + if (result == null) + result = caseArgument(typedVariableArgument); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION: { + UnnamedErrorPredicateDefintion unnamedErrorPredicateDefintion = (UnnamedErrorPredicateDefintion) theEObject; + T result = caseUnnamedErrorPredicateDefintion(unnamedErrorPredicateDefintion); + if (result == null) + result = caseStatement(unnamedErrorPredicateDefintion); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.OBJECTIVE_DECLARATION: { + ObjectiveDeclaration objectiveDeclaration = (ObjectiveDeclaration) theEObject; + T result = caseObjectiveDeclaration(objectiveDeclaration); + if (result == null) + result = caseStatement(objectiveDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.SCOPE_DECLARATION: { + ScopeDeclaration scopeDeclaration = (ScopeDeclaration) theEObject; + T result = caseScopeDeclaration(scopeDeclaration); + if (result == null) + result = caseStatement(scopeDeclaration); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXACT_SCOPE: { + ExactScope exactScope = (ExactScope) theEObject; + T result = caseExactScope(exactScope); + if (result == null) + result = caseScopeDeclaration(exactScope); + if (result == null) + result = caseStatement(exactScope); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.BOUNDED_SCOPE: { + BoundedScope boundedScope = (BoundedScope) theEObject; + T result = caseBoundedScope(boundedScope); + if (result == null) + result = caseScopeDeclaration(boundedScope); + if (result == null) + result = caseStatement(boundedScope); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE: { + LowerBoundedScope lowerBoundedScope = (LowerBoundedScope) theEObject; + T result = caseLowerBoundedScope(lowerBoundedScope); + if (result == null) + result = caseScopeDeclaration(lowerBoundedScope); + if (result == null) + result = caseStatement(lowerBoundedScope); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.NAMESPACE_IMPORT: { + NamespaceImport namespaceImport = (NamespaceImport) theEObject; + T result = caseNamespaceImport(namespaceImport); + if (result == null) + result = caseImport(namespaceImport); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.IMPORT: { + Import import_ = (Import) theEObject; + T result = caseImport(import_); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.URI_IMPORT: { + UriImport uriImport = (UriImport) theEObject; + T result = caseUriImport(uriImport); + if (result == null) + result = caseImport(uriImport); + if (result == null) + result = defaultCase(theEObject); + return result; + } + default: + return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Path Component'. + * + * 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 'Path Component'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePathComponent(PathComponent object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Symbol'. + * + * 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 'Symbol'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSymbol(Symbol 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 '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 '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 '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 '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 '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 'Multiary Expession'. + * + * 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 'Multiary Expession'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMultiaryExpession(MultiaryExpession 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 '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 '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 '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 '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 'Conditional 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 'Conditional Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConditionalExpression(ConditionalExpression 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 '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 'Let 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 'Let Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLetExpression(LetExpression 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 '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 'Int 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 'Int Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIntLiteral(IntLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Real 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 'Real Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRealLiteral(RealLiteral 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 '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 'Empty 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 Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEmptyLiteral(EmptyLiteral 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 'Aggregate 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 'Aggregate Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAggregateExpression(AggregateExpression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Count'. + * + * 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 'Count'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCount(Count 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 'Forall'. + * + * 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 'Forall'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseForall(Forall object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Type 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 'Type Reference'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypeReference(TypeReference 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 '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 '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 'Relation'. + * + * 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 'Relation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRelation(Relation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Base Relation'. + * + * 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 'Base Relation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBaseRelation(BaseRelation 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 'Datatype'. + * + * 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 'Datatype'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDatatype(Datatype object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Function'. + * + * 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 'Function'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunction(Function 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 'Operator'. + * + * 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 'Operator'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseOperator(Operator 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 '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 'Abstract Assertion'. + * + * 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 'Abstract Assertion'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAbstractAssertion(AbstractAssertion object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Functor Definiton'. + * + * 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 Definiton'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctorDefiniton(FunctorDefiniton 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 'Function 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 'Function Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctionDefinition(FunctionDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Attribute'. + * + * 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 'Attribute'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAttribute(Attribute object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Declaration'. + * + * 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 Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternDeclaration(ExternDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Functor Declaration'. + * + * 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 Functor Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternFunctorDeclaration(ExternFunctorDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Predicate Declaration'. + * + * 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 Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternPredicateDeclaration(ExternPredicateDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Function Declaration'. + * + * 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 Function Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternFunctionDeclaration(ExternFunctionDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Aggregation Operator Declaration'. + * + * 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 Aggregation Operator Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternAggregationOperatorDeclaration(ExternAggregationOperatorDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Datatype Declaration'. + * + * 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 Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternDatatypeDeclaration(ExternDatatypeDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Class Declaration'. + * + * 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 Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseClassDeclaration(ClassDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Enum Declaration'. + * + * 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 'Enum Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEnumDeclaration(EnumDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Enum 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 'Enum Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEnumLiteral(EnumLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Field'. + * + * 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 'Field'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseField(Field 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 'Default Assertion'. + * + * 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 Assertion'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDefaultAssertion(DefaultAssertion object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Assertion'. + * + * 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 'Assertion'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAssertion(Assertion object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unbounded 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 'Unbounded Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnboundedMultiplicity(UnboundedMultiplicity 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 'Inline Predicate Attrributes'. + * + * 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 'Inline Predicate Attrributes'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInlinePredicateAttrributes(InlinePredicateAttrributes object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Aggregation Operator'. + * + * 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 Operator'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAggregationOperator(AggregationOperator object) { + return null; + } + + /** + * 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 '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 'Typed Variable 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 Variable Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypedVariableArgument(TypedVariableArgument object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unnamed Error Predicate Defintion'. + * + * 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 Predicate Defintion'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnnamedErrorPredicateDefintion(UnnamedErrorPredicateDefintion object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Objective Declaration'. + * + * 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 Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObjectiveDeclaration(ObjectiveDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Scope Declaration'. + * + * 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 Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseScopeDeclaration(ScopeDeclaration object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Exact Scope'. + * + * 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'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExactScope(ExactScope object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Bounded Scope'. + * + * 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'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBoundedScope(BoundedScope object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Lower Bounded Scope'. + * + * 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'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLowerBoundedScope(LowerBoundedScope object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Namespace Import'. + * + * 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 'Namespace Import'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNamespaceImport(NamespaceImport object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Import'. + * + * 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 'Import'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseImport(Import object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Uri Import'. + * + * 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 'Uri Import'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUriImport(UriImport 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-70-g09d2