/** * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp; 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.BinaryExpression; import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator; import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Call; import org.eclipse.viatra.solver.language.solverLanguage.Case; import org.eclipse.viatra.solver.language.solverLanguage.Comparison; import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; import org.eclipse.viatra.solver.language.solverLanguage.Count; import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Expression; import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; import org.eclipse.viatra.solver.language.solverLanguage.IfElse; import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; import org.eclipse.viatra.solver.language.solverLanguage.Interval; 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.LowerBoundedScopeDefinition; import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; import org.eclipse.viatra.solver.language.solverLanguage.MetricType; import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind; import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Problem; import org.eclipse.viatra.solver.language.solverLanguage.Reference; import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; import org.eclipse.viatra.solver.language.solverLanguage.Statement; import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; import org.eclipse.viatra.solver.language.solverLanguage.Switch; import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp; import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; /** * * An implementation of the model Package. * * @generated */ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage { /** * * * @generated */ private EClass problemEClass = null; /** * * * @generated */ private EClass statementEClass = null; /** * * * @generated */ private EClass predicateDefinitionEClass = null; /** * * * @generated */ private EClass unnamedErrorPrediateDefinitionEClass = null; /** * * * @generated */ private EClass defaultDefinitionEClass = null; /** * * * @generated */ private EClass externPredicateDefinitionEClass = null; /** * * * @generated */ private EClass metricDefinitionEClass = null; /** * * * @generated */ private EClass externMetricDefinitionEClass = null; /** * * * @generated */ private EClass expressionEClass = null; /** * * * @generated */ private EClass ifElseEClass = null; /** * * * @generated */ private EClass caseEClass = null; /** * * * @generated */ private EClass countEClass = null; /** * * * @generated */ private EClass aggregationEClass = null; /** * * * @generated */ private EClass callEClass = null; /** * * * @generated */ private EClass argumentListEClass = null; /** * * * @generated */ private EClass argumentEClass = null; /** * * * @generated */ private EClass expressionArgumentEClass = null; /** * * * @generated */ private EClass starArgumentEClass = null; /** * * * @generated */ private EClass typedArgumentEClass = null; /** * * * @generated */ private EClass typedStarArgumentEClass = null; /** * * * @generated */ private EClass referenceEClass = null; /** * * * @generated */ private EClass intervalEClass = null; /** * * * @generated */ private EClass literalEClass = null; /** * * * @generated */ private EClass logicLiteralEClass = null; /** * * * @generated */ private EClass numericLiteralEClass = null; /** * * * @generated */ private EClass infinityLiteralEClass = null; /** * * * @generated */ private EClass emptyIntervalLiteralEClass = null; /** * * * @generated */ private EClass stringLiteralEClass = null; /** * * * @generated */ private EClass memberDefinitionEClass = null; /** * * * @generated */ private EClass multiplicityEClass = null; /** * * * @generated */ private EClass manyMultiplicityEClass = null; /** * * * @generated */ private EClass exactMultiplicityEClass = null; /** * * * @generated */ private EClass boundedMultiplicityEClass = null; /** * * * @generated */ private EClass scopeDefinitionEClass = null; /** * * * @generated */ private EClass exactScopeDefinitionEClass = null; /** * * * @generated */ private EClass boundedScopeDefinitionEClass = null; /** * * * @generated */ private EClass lowerBoundedScopeDefinitionEClass = null; /** * * * @generated */ private EClass objectiveDefinitionEClass = null; /** * * * @generated */ private EClass namedElementEClass = null; /** * * * @generated */ private EClass assertionEClass = null; /** * * * @generated */ private EClass disjunctionEClass = null; /** * * * @generated */ private EClass switchEClass = null; /** * * * @generated */ private EClass conjunctionEClass = null; /** * * * @generated */ private EClass comparisonEClass = null; /** * * * @generated */ private EClass binaryExpressionEClass = null; /** * * * @generated */ private EClass unaryExpressionEClass = null; /** * * * @generated */ private EEnum metricTypeEEnum = null; /** * * * @generated */ private EEnum binaryOperatorEEnum = null; /** * * * @generated */ private EEnum unaryOpEEnum = null; /** * * * @generated */ private EEnum aggregationOpEEnum = null; /** * * * @generated */ private EEnum logicValueEEnum = null; /** * * * @generated */ private EEnum objectiveKindEEnum = null; /** * Creates an instance of the model Package, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package * package URI value. *

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

This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed. * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. * * * @see #eNS_URI * @see #createPackageContents() * @see #initializePackageContents() * @generated */ public static SolverLanguagePackage init() { if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI); // Obtain or create and register package Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI); SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl(); isInited = true; // Create package meta-data objects theSolverLanguagePackage.createPackageContents(); // Initialize created meta-data theSolverLanguagePackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theSolverLanguagePackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage); return theSolverLanguagePackage; } /** * * * @generated */ @Override public EClass getProblem() { return problemEClass; } /** * * * @generated */ @Override public EReference getProblem_Statements() { return (EReference)problemEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getStatement() { return statementEClass; } /** * * * @generated */ @Override public EAttribute getStatement_Abstract() { return (EAttribute)statementEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EAttribute getStatement_Name() { return (EAttribute)statementEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EReference getStatement_Superclasses() { return (EReference)statementEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EReference getStatement_Members() { return (EReference)statementEClass.getEStructuralFeatures().get(3); } /** * * * @generated */ @Override public EClass getPredicateDefinition() { return predicateDefinitionEClass; } /** * * * @generated */ @Override public EReference getPredicateDefinition_Head() { return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getPredicateDefinition_Body() { return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EAttribute getPredicateDefinition_Functional() { return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EAttribute getPredicateDefinition_Error() { return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3); } /** * * * @generated */ @Override public EClass getUnnamedErrorPrediateDefinition() { return unnamedErrorPrediateDefinitionEClass; } /** * * * @generated */ @Override public EReference getUnnamedErrorPrediateDefinition_ArgumentList() { return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getUnnamedErrorPrediateDefinition_Body() { return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getDefaultDefinition() { return defaultDefinitionEClass; } /** * * * @generated */ @Override public EReference getDefaultDefinition_Head() { return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getDefaultDefinition_Range() { return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getExternPredicateDefinition() { return externPredicateDefinitionEClass; } /** * * * @generated */ @Override public EReference getExternPredicateDefinition_Head() { return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getMetricDefinition() { return metricDefinitionEClass; } /** * * * @generated */ @Override public EReference getMetricDefinition_Head() { return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getMetricDefinition_Body() { return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EAttribute getMetricDefinition_Type() { return (EAttribute)metricDefinitionEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EClass getExternMetricDefinition() { return externMetricDefinitionEClass; } /** * * * @generated */ @Override public EAttribute getExternMetricDefinition_Type() { return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getExternMetricDefinition_Head() { return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getExpression() { return expressionEClass; } /** * * * @generated */ @Override public EClass getIfElse() { return ifElseEClass; } /** * * * @generated */ @Override public EReference getIfElse_Condition() { return (EReference)ifElseEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getIfElse_Then() { return (EReference)ifElseEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EReference getIfElse_Else() { return (EReference)ifElseEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EClass getCase() { return caseEClass; } /** * * * @generated */ @Override public EReference getCase_Condition() { return (EReference)caseEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getCase_Body() { return (EReference)caseEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getCount() { return countEClass; } /** * * * @generated */ @Override public EReference getCount_Body() { return (EReference)countEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getAggregation() { return aggregationEClass; } /** * * * @generated */ @Override public EAttribute getAggregation_Op() { return (EAttribute)aggregationEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getAggregation_Body() { return (EReference)aggregationEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EReference getAggregation_Condition() { return (EReference)aggregationEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EClass getCall() { return callEClass; } /** * * * @generated */ @Override public EReference getCall_Functor() { return (EReference)callEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getCall_ArgumentList() { return (EReference)callEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EAttribute getCall_TransitiveClosure() { return (EAttribute)callEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EAttribute getCall_ReflexiveTransitiveClosure() { return (EAttribute)callEClass.getEStructuralFeatures().get(3); } /** * * * @generated */ @Override public EClass getArgumentList() { return argumentListEClass; } /** * * * @generated */ @Override public EReference getArgumentList_Arguments() { return (EReference)argumentListEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getArgument() { return argumentEClass; } /** * * * @generated */ @Override public EClass getExpressionArgument() { return expressionArgumentEClass; } /** * * * @generated */ @Override public EReference getExpressionArgument_Body() { return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getStarArgument() { return starArgumentEClass; } /** * * * @generated */ @Override public EClass getTypedArgument() { return typedArgumentEClass; } /** * * * @generated */ @Override public EReference getTypedArgument_Type() { return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getTypedArgument_Variable() { return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getTypedStarArgument() { return typedStarArgumentEClass; } /** * * * @generated */ @Override public EReference getTypedStarArgument_Type() { return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getReference() { return referenceEClass; } /** * * * @generated */ @Override public EReference getReference_Referred() { return (EReference)referenceEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getInterval() { return intervalEClass; } /** * * * @generated */ @Override public EReference getInterval_LowerBound() { return (EReference)intervalEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getInterval_UpperBound() { return (EReference)intervalEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getLiteral() { return literalEClass; } /** * * * @generated */ @Override public EClass getLogicLiteral() { return logicLiteralEClass; } /** * * * @generated */ @Override public EAttribute getLogicLiteral_Value() { return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getNumericLiteral() { return numericLiteralEClass; } /** * * * @generated */ @Override public EAttribute getNumericLiteral_Value() { return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getInfinityLiteral() { return infinityLiteralEClass; } /** * * * @generated */ @Override public EClass getEmptyIntervalLiteral() { return emptyIntervalLiteralEClass; } /** * * * @generated */ @Override public EClass getStringLiteral() { return stringLiteralEClass; } /** * * * @generated */ @Override public EAttribute getStringLiteral_Value() { return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getMemberDefinition() { return memberDefinitionEClass; } /** * * * @generated */ @Override public EAttribute getMemberDefinition_Containment() { return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getMemberDefinition_Type() { return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EReference getMemberDefinition_Multiplicity() { return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EAttribute getMemberDefinition_Name() { return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3); } /** * * * @generated */ @Override public EReference getMemberDefinition_Opposite() { return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4); } /** * * * @generated */ @Override public EClass getMultiplicity() { return multiplicityEClass; } /** * * * @generated */ @Override public EClass getManyMultiplicity() { return manyMultiplicityEClass; } /** * * * @generated */ @Override public EClass getExactMultiplicity() { return exactMultiplicityEClass; } /** * * * @generated */ @Override public EAttribute getExactMultiplicity_Multiplicity() { return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getBoundedMultiplicity() { return boundedMultiplicityEClass; } /** * * * @generated */ @Override public EAttribute getBoundedMultiplicity_LowerBound() { return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EAttribute getBoundedMultiplicity_UpperBound() { return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getScopeDefinition() { return scopeDefinitionEClass; } /** * * * @generated */ @Override public EReference getScopeDefinition_Type() { return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getExactScopeDefinition() { return exactScopeDefinitionEClass; } /** * * * @generated */ @Override public EAttribute getExactScopeDefinition_ExactScope() { return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getBoundedScopeDefinition() { return boundedScopeDefinitionEClass; } /** * * * @generated */ @Override public EAttribute getBoundedScopeDefinition_LowerBound() { return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EAttribute getBoundedScopeDefinition_UpperBound() { return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getLowerBoundedScopeDefinition() { return lowerBoundedScopeDefinitionEClass; } /** * * * @generated */ @Override public EAttribute getLowerBoundedScopeDefinition_LowerBound() { return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getObjectiveDefinition() { return objectiveDefinitionEClass; } /** * * * @generated */ @Override public EAttribute getObjectiveDefinition_Kind() { return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getObjectiveDefinition_Objective() { return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getNamedElement() { return namedElementEClass; } /** * * * @generated */ @Override public EAttribute getNamedElement_Name() { return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getAssertion() { return assertionEClass; } /** * * * @generated */ @Override public EReference getAssertion_Body() { return (EReference)assertionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getAssertion_Range() { return (EReference)assertionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EClass getDisjunction() { return disjunctionEClass; } /** * * * @generated */ @Override public EReference getDisjunction_Children() { return (EReference)disjunctionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getSwitch() { return switchEClass; } /** * * * @generated */ @Override public EReference getSwitch_Cases() { return (EReference)switchEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getConjunction() { return conjunctionEClass; } /** * * * @generated */ @Override public EReference getConjunction_Children() { return (EReference)conjunctionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EClass getComparison() { return comparisonEClass; } /** * * * @generated */ @Override public EReference getComparison_Left() { return (EReference)comparisonEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EAttribute getComparison_Op() { return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EReference getComparison_Right() { return (EReference)comparisonEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EClass getBinaryExpression() { return binaryExpressionEClass; } /** * * * @generated */ @Override public EReference getBinaryExpression_Left() { return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EAttribute getBinaryExpression_Op() { return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EReference getBinaryExpression_Right() { return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2); } /** * * * @generated */ @Override public EClass getUnaryExpression() { return unaryExpressionEClass; } /** * * * @generated */ @Override public EAttribute getUnaryExpression_Op() { return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0); } /** * * * @generated */ @Override public EReference getUnaryExpression_Body() { return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1); } /** * * * @generated */ @Override public EEnum getMetricType() { return metricTypeEEnum; } /** * * * @generated */ @Override public EEnum getBinaryOperator() { return binaryOperatorEEnum; } /** * * * @generated */ @Override public EEnum getUnaryOp() { return unaryOpEEnum; } /** * * * @generated */ @Override public EEnum getAggregationOp() { return aggregationOpEEnum; } /** * * * @generated */ @Override public EEnum getLogicValue() { return logicValueEEnum; } /** * * * @generated */ @Override public EEnum getObjectiveKind() { return objectiveKindEEnum; } /** * * * @generated */ @Override public SolverLanguageFactory getSolverLanguageFactory() { return (SolverLanguageFactory)getEFactoryInstance(); } /** * * * @generated */ private boolean isCreated = false; /** * Creates the meta-model objects for the package. This method is * guarded to have no affect on any invocation but its first. * * * @generated */ public void createPackageContents() { if (isCreated) return; isCreated = true; // Create classes and their features problemEClass = createEClass(PROBLEM); createEReference(problemEClass, PROBLEM__STATEMENTS); statementEClass = createEClass(STATEMENT); createEAttribute(statementEClass, STATEMENT__ABSTRACT); createEAttribute(statementEClass, STATEMENT__NAME); createEReference(statementEClass, STATEMENT__SUPERCLASSES); createEReference(statementEClass, STATEMENT__MEMBERS); predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD); createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY); createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL); createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR); unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION); createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST); createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY); defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION); createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD); createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE); externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION); createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__HEAD); metricDefinitionEClass = createEClass(METRIC_DEFINITION); createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD); createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY); createEAttribute(metricDefinitionEClass, METRIC_DEFINITION__TYPE); externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION); createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE); createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__HEAD); expressionEClass = createEClass(EXPRESSION); ifElseEClass = createEClass(IF_ELSE); createEReference(ifElseEClass, IF_ELSE__CONDITION); createEReference(ifElseEClass, IF_ELSE__THEN); createEReference(ifElseEClass, IF_ELSE__ELSE); caseEClass = createEClass(CASE); createEReference(caseEClass, CASE__CONDITION); createEReference(caseEClass, CASE__BODY); countEClass = createEClass(COUNT); createEReference(countEClass, COUNT__BODY); aggregationEClass = createEClass(AGGREGATION); createEAttribute(aggregationEClass, AGGREGATION__OP); createEReference(aggregationEClass, AGGREGATION__BODY); createEReference(aggregationEClass, AGGREGATION__CONDITION); callEClass = createEClass(CALL); createEReference(callEClass, CALL__FUNCTOR); createEReference(callEClass, CALL__ARGUMENT_LIST); createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE); createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE); argumentListEClass = createEClass(ARGUMENT_LIST); createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); argumentEClass = createEClass(ARGUMENT); expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT); createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY); starArgumentEClass = createEClass(STAR_ARGUMENT); typedArgumentEClass = createEClass(TYPED_ARGUMENT); createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE); createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE); typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT); createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE); referenceEClass = createEClass(REFERENCE); createEReference(referenceEClass, REFERENCE__REFERRED); intervalEClass = createEClass(INTERVAL); createEReference(intervalEClass, INTERVAL__LOWER_BOUND); createEReference(intervalEClass, INTERVAL__UPPER_BOUND); literalEClass = createEClass(LITERAL); logicLiteralEClass = createEClass(LOGIC_LITERAL); createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE); numericLiteralEClass = createEClass(NUMERIC_LITERAL); createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE); infinityLiteralEClass = createEClass(INFINITY_LITERAL); emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL); stringLiteralEClass = createEClass(STRING_LITERAL); createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); memberDefinitionEClass = createEClass(MEMBER_DEFINITION); createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT); createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE); createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY); createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME); createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE); multiplicityEClass = createEClass(MULTIPLICITY); manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY); exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY); boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY); createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND); createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND); scopeDefinitionEClass = createEClass(SCOPE_DEFINITION); createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE); exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION); createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE); boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION); createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND); lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION); createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION); createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND); createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE); namedElementEClass = createEClass(NAMED_ELEMENT); createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME); assertionEClass = createEClass(ASSERTION); createEReference(assertionEClass, ASSERTION__BODY); createEReference(assertionEClass, ASSERTION__RANGE); disjunctionEClass = createEClass(DISJUNCTION); createEReference(disjunctionEClass, DISJUNCTION__CHILDREN); switchEClass = createEClass(SWITCH); createEReference(switchEClass, SWITCH__CASES); conjunctionEClass = createEClass(CONJUNCTION); createEReference(conjunctionEClass, CONJUNCTION__CHILDREN); comparisonEClass = createEClass(COMPARISON); createEReference(comparisonEClass, COMPARISON__LEFT); createEAttribute(comparisonEClass, COMPARISON__OP); createEReference(comparisonEClass, COMPARISON__RIGHT); binaryExpressionEClass = createEClass(BINARY_EXPRESSION); createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT); createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP); createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT); unaryExpressionEClass = createEClass(UNARY_EXPRESSION); createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP); createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY); // Create enums metricTypeEEnum = createEEnum(METRIC_TYPE); binaryOperatorEEnum = createEEnum(BINARY_OPERATOR); unaryOpEEnum = createEEnum(UNARY_OP); aggregationOpEEnum = createEEnum(AGGREGATION_OP); logicValueEEnum = createEEnum(LOGIC_VALUE); objectiveKindEEnum = createEEnum(OBJECTIVE_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 predicateDefinitionEClass.getESuperTypes().add(this.getStatement()); unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement()); defaultDefinitionEClass.getESuperTypes().add(this.getStatement()); externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement()); metricDefinitionEClass.getESuperTypes().add(this.getStatement()); externMetricDefinitionEClass.getESuperTypes().add(this.getStatement()); expressionEClass.getESuperTypes().add(this.getStatement()); ifElseEClass.getESuperTypes().add(this.getExpression()); caseEClass.getESuperTypes().add(this.getExpression()); countEClass.getESuperTypes().add(this.getExpression()); aggregationEClass.getESuperTypes().add(this.getExpression()); callEClass.getESuperTypes().add(this.getExpression()); expressionArgumentEClass.getESuperTypes().add(this.getArgument()); starArgumentEClass.getESuperTypes().add(this.getArgument()); typedArgumentEClass.getESuperTypes().add(this.getArgument()); typedStarArgumentEClass.getESuperTypes().add(this.getArgument()); referenceEClass.getESuperTypes().add(this.getExpression()); intervalEClass.getESuperTypes().add(this.getExpression()); literalEClass.getESuperTypes().add(this.getExpression()); logicLiteralEClass.getESuperTypes().add(this.getLiteral()); numericLiteralEClass.getESuperTypes().add(this.getLiteral()); infinityLiteralEClass.getESuperTypes().add(this.getLiteral()); emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral()); stringLiteralEClass.getESuperTypes().add(this.getLiteral()); manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); scopeDefinitionEClass.getESuperTypes().add(this.getStatement()); exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); objectiveDefinitionEClass.getESuperTypes().add(this.getStatement()); assertionEClass.getESuperTypes().add(this.getStatement()); disjunctionEClass.getESuperTypes().add(this.getExpression()); switchEClass.getESuperTypes().add(this.getExpression()); conjunctionEClass.getESuperTypes().add(this.getExpression()); comparisonEClass.getESuperTypes().add(this.getExpression()); binaryExpressionEClass.getESuperTypes().add(this.getExpression()); unaryExpressionEClass.getESuperTypes().add(this.getExpression()); // Initialize classes and features; add operations and parameters initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getStatement_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getStatement_Name(), ecorePackage.getEString(), "name", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getStatement_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getStatement_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getPredicateDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getPredicateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getPredicateDefinition_Functional(), ecorePackage.getEBoolean(), "functional", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getUnnamedErrorPrediateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getUnnamedErrorPrediateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getDefaultDefinition_Head(), this.getCall(), null, "head", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDefaultDefinition_Range(), this.getExpression(), null, "range", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getExternPredicateDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getMetricDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getMetricDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getExternMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getExternMetricDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getIfElse_Condition(), this.getExpression(), null, "condition", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIfElse_Then(), this.getExpression(), null, "then", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIfElse_Else(), this.getExpression(), null, "else", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 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(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCount_Body(), this.getExpression(), null, "body", null, 0, 1, Count.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getAggregation_Op(), this.getAggregationOp(), "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAggregation_Body(), this.getExpression(), null, "body", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAggregation_Condition(), this.getExpression(), null, "condition", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 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); initEAttribute(getCall_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getCall_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), "reflexiveTransitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getExpressionArgument_Body(), this.getExpression(), null, "body", null, 0, 1, ExpressionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTypedArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTypedArgument_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTypedStarArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedStarArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getReference_Referred(), this.getNamedElement(), null, "referred", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getInterval_LowerBound(), this.getExpression(), null, "lowerBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getInterval_UpperBound(), this.getExpression(), null, "upperBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getLogicLiteral_Value(), this.getLogicValue(), "value", null, 0, 1, LogicLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getNumericLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, NumericLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getMemberDefinition_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getMemberDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getMemberDefinition_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getMemberDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getMemberDefinition_Opposite(), this.getNamedElement(), null, "opposite", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getExactMultiplicity_Multiplicity(), ecorePackage.getEInt(), "multiplicity", null, 0, 1, ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getBoundedMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getBoundedMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getScopeDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getExactScopeDefinition_ExactScope(), ecorePackage.getEInt(), "exactScope", null, 0, 1, ExactScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getBoundedScopeDefinition_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getLowerBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, LowerBoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getObjectiveDefinition_Kind(), this.getObjectiveKind(), "kind", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getObjectiveDefinition_Objective(), this.getExpression(), null, "objective", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAssertion_Body(), this.getExpression(), null, "body", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAssertion_Range(), this.getExpression(), null, "range", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getDisjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Disjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSwitch_Cases(), this.getCase(), null, "cases", null, 0, -1, Switch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getConjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Conjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getComparison_Left(), this.getExpression(), null, "left", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getComparison_Op(), this.getBinaryOperator(), "op", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getComparison_Right(), this.getExpression(), null, "right", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getBinaryExpression_Left(), this.getExpression(), null, "left", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getBinaryExpression_Op(), this.getBinaryOperator(), "op", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getBinaryExpression_Right(), this.getExpression(), null, "right", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getUnaryExpression_Op(), this.getUnaryOp(), "op", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getUnaryExpression_Body(), this.getExpression(), null, "body", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(metricTypeEEnum, MetricType.class, "MetricType"); addEEnumLiteral(metricTypeEEnum, MetricType.INT); addEEnumLiteral(metricTypeEEnum, MetricType.REAL); initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator"); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV); addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW); initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp"); addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG); addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS); addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS); addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY); addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST); addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT); initEEnum(aggregationOpEEnum, AggregationOp.class, "AggregationOp"); addEEnumLiteral(aggregationOpEEnum, AggregationOp.ONLY); addEEnumLiteral(aggregationOpEEnum, AggregationOp.SUM); addEEnumLiteral(aggregationOpEEnum, AggregationOp.PROD); addEEnumLiteral(aggregationOpEEnum, AggregationOp.AVG); addEEnumLiteral(aggregationOpEEnum, AggregationOp.MIN); addEEnumLiteral(aggregationOpEEnum, AggregationOp.MAX); initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); addEEnumLiteral(logicValueEEnum, LogicValue.FALSE); addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN); addEEnumLiteral(logicValueEEnum, LogicValue.ERROR); initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind"); addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE); addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE); // Create resource createResource(eNS_URI); } } //SolverLanguagePackageImpl