/** */ package org.yakindu.base.expressions.expressions.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.yakindu.base.expressions.expressions.AdditiveOperator; import org.yakindu.base.expressions.expressions.ArgumentExpression; import org.yakindu.base.expressions.expressions.AssignmentExpression; import org.yakindu.base.expressions.expressions.AssignmentOperator; import org.yakindu.base.expressions.expressions.BinaryExpression; import org.yakindu.base.expressions.expressions.BitwiseAndExpression; import org.yakindu.base.expressions.expressions.BitwiseOperator; import org.yakindu.base.expressions.expressions.BitwiseOrExpression; import org.yakindu.base.expressions.expressions.BitwiseXorExpression; import org.yakindu.base.expressions.expressions.BoolLiteral; import org.yakindu.base.expressions.expressions.ConditionalExpression; import org.yakindu.base.expressions.expressions.DoubleLiteral; import org.yakindu.base.expressions.expressions.ElementReferenceExpression; import org.yakindu.base.expressions.expressions.Expression; import org.yakindu.base.expressions.expressions.ExpressionsFactory; import org.yakindu.base.expressions.expressions.ExpressionsPackage; import org.yakindu.base.expressions.expressions.FeatureCall; import org.yakindu.base.expressions.expressions.FloatLiteral; import org.yakindu.base.expressions.expressions.HexLiteral; import org.yakindu.base.expressions.expressions.IntLiteral; import org.yakindu.base.expressions.expressions.Literal; import org.yakindu.base.expressions.expressions.LogicalAndExpression; import org.yakindu.base.expressions.expressions.LogicalNotExpression; import org.yakindu.base.expressions.expressions.LogicalOperator; import org.yakindu.base.expressions.expressions.LogicalOrExpression; import org.yakindu.base.expressions.expressions.LogicalRelationExpression; import org.yakindu.base.expressions.expressions.MultiplicativeOperator; import org.yakindu.base.expressions.expressions.NullLiteral; import org.yakindu.base.expressions.expressions.NumericalAddSubtractExpression; import org.yakindu.base.expressions.expressions.NumericalMultiplyDivideExpression; import org.yakindu.base.expressions.expressions.NumericalUnaryExpression; import org.yakindu.base.expressions.expressions.ParenthesizedExpression; import org.yakindu.base.expressions.expressions.PrimitiveValueExpression; import org.yakindu.base.expressions.expressions.RelationalOperator; import org.yakindu.base.expressions.expressions.ShiftExpression; import org.yakindu.base.expressions.expressions.ShiftOperator; import org.yakindu.base.expressions.expressions.StringLiteral; import org.yakindu.base.expressions.expressions.TypeCastExpression; import org.yakindu.base.expressions.expressions.UnaryExpression; import org.yakindu.base.expressions.expressions.UnaryOperator; import org.yakindu.base.types.TypesPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass expressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass literalEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass boolLiteralEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass intLiteralEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass doubleLiteralEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass floatLiteralEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass hexLiteralEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stringLiteralEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass nullLiteralEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass assignmentExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass conditionalExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass logicalOrExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass logicalAndExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass logicalNotExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass bitwiseXorExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass bitwiseOrExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass bitwiseAndExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass logicalRelationExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass shiftExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass numericalAddSubtractExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass numericalMultiplyDivideExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass numericalUnaryExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass primitiveValueExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass featureCallEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass elementReferenceExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass parenthesizedExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass typeCastExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass argumentExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass binaryExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass unaryExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum assignmentOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum shiftOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum additiveOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum multiplicativeOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum unaryOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum relationalOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum logicalOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum bitwiseOperatorEEnum = null; /** * Creates an instance of the model <b>Package</b>, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package * package URI value. * <p>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. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see org.eclipse.emf.ecore.EPackage.Registry * @see org.yakindu.base.expressions.expressions.ExpressionsPackage#eNS_URI * @see #init() * @generated */ private ExpressionsPackageImpl() { super(eNS_URI, ExpressionsFactory.eINSTANCE); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private static boolean isInited = false; /** * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. * * <p>This method is used to initialize {@link ExpressionsPackage#eINSTANCE} when that field is accessed. * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #eNS_URI * @see #createPackageContents() * @see #initializePackageContents() * @generated */ public static ExpressionsPackage init() { if (isInited) return (ExpressionsPackage)EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI); // Obtain or create and register package ExpressionsPackageImpl theExpressionsPackage = (ExpressionsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ExpressionsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ExpressionsPackageImpl()); isInited = true; // Initialize simple dependencies TypesPackage.eINSTANCE.eClass(); // Create package meta-data objects theExpressionsPackage.createPackageContents(); // Initialize created meta-data theExpressionsPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theExpressionsPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(ExpressionsPackage.eNS_URI, theExpressionsPackage); return theExpressionsPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExpression() { return expressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getLiteral() { return literalEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBoolLiteral() { return boolLiteralEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getBoolLiteral_Value() { return (EAttribute)boolLiteralEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIntLiteral() { return intLiteralEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntLiteral_Value() { return (EAttribute)intLiteralEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDoubleLiteral() { return doubleLiteralEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getDoubleLiteral_Value() { return (EAttribute)doubleLiteralEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getFloatLiteral() { return floatLiteralEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getFloatLiteral_Value() { return (EAttribute)floatLiteralEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getHexLiteral() { return hexLiteralEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getHexLiteral_Value() { return (EAttribute)hexLiteralEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStringLiteral() { return stringLiteralEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getStringLiteral_Value() { return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNullLiteral() { return nullLiteralEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAssignmentExpression() { return assignmentExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAssignmentExpression_VarRef() { return (EReference)assignmentExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getAssignmentExpression_Operator() { return (EAttribute)assignmentExpressionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAssignmentExpression_Expression() { return (EReference)assignmentExpressionEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getConditionalExpression() { return conditionalExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConditionalExpression_Condition() { return (EReference)conditionalExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConditionalExpression_TrueCase() { return (EReference)conditionalExpressionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConditionalExpression_FalseCase() { return (EReference)conditionalExpressionEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getLogicalOrExpression() { return logicalOrExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getLogicalAndExpression() { return logicalAndExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getLogicalNotExpression() { return logicalNotExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBitwiseXorExpression() { return bitwiseXorExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBitwiseOrExpression() { return bitwiseOrExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBitwiseAndExpression() { return bitwiseAndExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getLogicalRelationExpression() { return logicalRelationExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getLogicalRelationExpression_Operator() { return (EAttribute)logicalRelationExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getShiftExpression() { return shiftExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getShiftExpression_Operator() { return (EAttribute)shiftExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNumericalAddSubtractExpression() { return numericalAddSubtractExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getNumericalAddSubtractExpression_Operator() { return (EAttribute)numericalAddSubtractExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNumericalMultiplyDivideExpression() { return numericalMultiplyDivideExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getNumericalMultiplyDivideExpression_Operator() { return (EAttribute)numericalMultiplyDivideExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNumericalUnaryExpression() { return numericalUnaryExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getNumericalUnaryExpression_Operator() { return (EAttribute)numericalUnaryExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPrimitiveValueExpression() { return primitiveValueExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getPrimitiveValueExpression_Value() { return (EReference)primitiveValueExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getFeatureCall() { return featureCallEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getFeatureCall_Owner() { return (EReference)featureCallEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getFeatureCall_Feature() { return (EReference)featureCallEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getFeatureCall_OperationCall() { return (EAttribute)featureCallEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getFeatureCall_ArraySelector() { return (EReference)featureCallEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getFeatureCall_ArrayAccess() { return (EAttribute)featureCallEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getElementReferenceExpression() { return elementReferenceExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getElementReferenceExpression_Reference() { return (EReference)elementReferenceExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getElementReferenceExpression_OperationCall() { return (EAttribute)elementReferenceExpressionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getElementReferenceExpression_ArraySelector() { return (EReference)elementReferenceExpressionEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getElementReferenceExpression_ArrayAccess() { return (EAttribute)elementReferenceExpressionEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getParenthesizedExpression() { return parenthesizedExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getParenthesizedExpression_Expression() { return (EReference)parenthesizedExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTypeCastExpression() { return typeCastExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTypeCastExpression_Operand() { return (EReference)typeCastExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTypeCastExpression_Type() { return (EReference)typeCastExpressionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getArgumentExpression() { return argumentExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getArgumentExpression_Args() { return (EReference)argumentExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBinaryExpression() { return binaryExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getBinaryExpression_LeftOperand() { return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getBinaryExpression_RightOperand() { return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getUnaryExpression() { return unaryExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getUnaryExpression_Operand() { return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getAssignmentOperator() { return assignmentOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getShiftOperator() { return shiftOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getAdditiveOperator() { return additiveOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getMultiplicativeOperator() { return multiplicativeOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getUnaryOperator() { return unaryOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getRelationalOperator() { return relationalOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getLogicalOperator() { return logicalOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getBitwiseOperator() { return bitwiseOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ExpressionsFactory getExpressionsFactory() { return (ExpressionsFactory)getEFactoryInstance(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @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. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void createPackageContents() { if (isCreated) return; isCreated = true; // Create classes and their features expressionEClass = createEClass(EXPRESSION); binaryExpressionEClass = createEClass(BINARY_EXPRESSION); createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT_OPERAND); createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT_OPERAND); unaryExpressionEClass = createEClass(UNARY_EXPRESSION); createEReference(unaryExpressionEClass, UNARY_EXPRESSION__OPERAND); argumentExpressionEClass = createEClass(ARGUMENT_EXPRESSION); createEReference(argumentExpressionEClass, ARGUMENT_EXPRESSION__ARGS); literalEClass = createEClass(LITERAL); boolLiteralEClass = createEClass(BOOL_LITERAL); createEAttribute(boolLiteralEClass, BOOL_LITERAL__VALUE); intLiteralEClass = createEClass(INT_LITERAL); createEAttribute(intLiteralEClass, INT_LITERAL__VALUE); doubleLiteralEClass = createEClass(DOUBLE_LITERAL); createEAttribute(doubleLiteralEClass, DOUBLE_LITERAL__VALUE); floatLiteralEClass = createEClass(FLOAT_LITERAL); createEAttribute(floatLiteralEClass, FLOAT_LITERAL__VALUE); hexLiteralEClass = createEClass(HEX_LITERAL); createEAttribute(hexLiteralEClass, HEX_LITERAL__VALUE); stringLiteralEClass = createEClass(STRING_LITERAL); createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); nullLiteralEClass = createEClass(NULL_LITERAL); assignmentExpressionEClass = createEClass(ASSIGNMENT_EXPRESSION); createEReference(assignmentExpressionEClass, ASSIGNMENT_EXPRESSION__VAR_REF); createEAttribute(assignmentExpressionEClass, ASSIGNMENT_EXPRESSION__OPERATOR); createEReference(assignmentExpressionEClass, ASSIGNMENT_EXPRESSION__EXPRESSION); conditionalExpressionEClass = createEClass(CONDITIONAL_EXPRESSION); createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__CONDITION); createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__TRUE_CASE); createEReference(conditionalExpressionEClass, CONDITIONAL_EXPRESSION__FALSE_CASE); logicalOrExpressionEClass = createEClass(LOGICAL_OR_EXPRESSION); logicalAndExpressionEClass = createEClass(LOGICAL_AND_EXPRESSION); logicalNotExpressionEClass = createEClass(LOGICAL_NOT_EXPRESSION); bitwiseXorExpressionEClass = createEClass(BITWISE_XOR_EXPRESSION); bitwiseOrExpressionEClass = createEClass(BITWISE_OR_EXPRESSION); bitwiseAndExpressionEClass = createEClass(BITWISE_AND_EXPRESSION); logicalRelationExpressionEClass = createEClass(LOGICAL_RELATION_EXPRESSION); createEAttribute(logicalRelationExpressionEClass, LOGICAL_RELATION_EXPRESSION__OPERATOR); shiftExpressionEClass = createEClass(SHIFT_EXPRESSION); createEAttribute(shiftExpressionEClass, SHIFT_EXPRESSION__OPERATOR); numericalAddSubtractExpressionEClass = createEClass(NUMERICAL_ADD_SUBTRACT_EXPRESSION); createEAttribute(numericalAddSubtractExpressionEClass, NUMERICAL_ADD_SUBTRACT_EXPRESSION__OPERATOR); numericalMultiplyDivideExpressionEClass = createEClass(NUMERICAL_MULTIPLY_DIVIDE_EXPRESSION); createEAttribute(numericalMultiplyDivideExpressionEClass, NUMERICAL_MULTIPLY_DIVIDE_EXPRESSION__OPERATOR); numericalUnaryExpressionEClass = createEClass(NUMERICAL_UNARY_EXPRESSION); createEAttribute(numericalUnaryExpressionEClass, NUMERICAL_UNARY_EXPRESSION__OPERATOR); primitiveValueExpressionEClass = createEClass(PRIMITIVE_VALUE_EXPRESSION); createEReference(primitiveValueExpressionEClass, PRIMITIVE_VALUE_EXPRESSION__VALUE); featureCallEClass = createEClass(FEATURE_CALL); createEReference(featureCallEClass, FEATURE_CALL__OWNER); createEReference(featureCallEClass, FEATURE_CALL__FEATURE); createEAttribute(featureCallEClass, FEATURE_CALL__OPERATION_CALL); createEReference(featureCallEClass, FEATURE_CALL__ARRAY_SELECTOR); createEAttribute(featureCallEClass, FEATURE_CALL__ARRAY_ACCESS); elementReferenceExpressionEClass = createEClass(ELEMENT_REFERENCE_EXPRESSION); createEReference(elementReferenceExpressionEClass, ELEMENT_REFERENCE_EXPRESSION__REFERENCE); createEAttribute(elementReferenceExpressionEClass, ELEMENT_REFERENCE_EXPRESSION__OPERATION_CALL); createEReference(elementReferenceExpressionEClass, ELEMENT_REFERENCE_EXPRESSION__ARRAY_SELECTOR); createEAttribute(elementReferenceExpressionEClass, ELEMENT_REFERENCE_EXPRESSION__ARRAY_ACCESS); parenthesizedExpressionEClass = createEClass(PARENTHESIZED_EXPRESSION); createEReference(parenthesizedExpressionEClass, PARENTHESIZED_EXPRESSION__EXPRESSION); typeCastExpressionEClass = createEClass(TYPE_CAST_EXPRESSION); createEReference(typeCastExpressionEClass, TYPE_CAST_EXPRESSION__OPERAND); createEReference(typeCastExpressionEClass, TYPE_CAST_EXPRESSION__TYPE); // Create enums assignmentOperatorEEnum = createEEnum(ASSIGNMENT_OPERATOR); shiftOperatorEEnum = createEEnum(SHIFT_OPERATOR); additiveOperatorEEnum = createEEnum(ADDITIVE_OPERATOR); multiplicativeOperatorEEnum = createEEnum(MULTIPLICATIVE_OPERATOR); unaryOperatorEEnum = createEEnum(UNARY_OPERATOR); relationalOperatorEEnum = createEEnum(RELATIONAL_OPERATOR); logicalOperatorEEnum = createEEnum(LOGICAL_OPERATOR); bitwiseOperatorEEnum = createEEnum(BITWISE_OPERATOR); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @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. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void initializePackageContents() { if (isInitialized) return; isInitialized = true; // Initialize package setName(eNAME); setNsPrefix(eNS_PREFIX); setNsURI(eNS_URI); // Obtain other dependent packages TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes binaryExpressionEClass.getESuperTypes().add(this.getExpression()); unaryExpressionEClass.getESuperTypes().add(this.getExpression()); argumentExpressionEClass.getESuperTypes().add(this.getExpression()); boolLiteralEClass.getESuperTypes().add(this.getLiteral()); intLiteralEClass.getESuperTypes().add(this.getLiteral()); doubleLiteralEClass.getESuperTypes().add(this.getLiteral()); floatLiteralEClass.getESuperTypes().add(this.getLiteral()); hexLiteralEClass.getESuperTypes().add(this.getLiteral()); stringLiteralEClass.getESuperTypes().add(this.getLiteral()); nullLiteralEClass.getESuperTypes().add(this.getLiteral()); assignmentExpressionEClass.getESuperTypes().add(this.getExpression()); conditionalExpressionEClass.getESuperTypes().add(this.getExpression()); logicalOrExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); logicalAndExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); logicalNotExpressionEClass.getESuperTypes().add(this.getUnaryExpression()); bitwiseXorExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); bitwiseOrExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); bitwiseAndExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); logicalRelationExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); shiftExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); numericalAddSubtractExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); numericalMultiplyDivideExpressionEClass.getESuperTypes().add(this.getBinaryExpression()); numericalUnaryExpressionEClass.getESuperTypes().add(this.getUnaryExpression()); primitiveValueExpressionEClass.getESuperTypes().add(this.getExpression()); featureCallEClass.getESuperTypes().add(this.getArgumentExpression()); elementReferenceExpressionEClass.getESuperTypes().add(this.getArgumentExpression()); parenthesizedExpressionEClass.getESuperTypes().add(this.getExpression()); typeCastExpressionEClass.getESuperTypes().add(this.getExpression()); // Initialize classes and features; add operations and parameters initEClass(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getBinaryExpression_LeftOperand(), this.getExpression(), null, "leftOperand", 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_RightOperand(), this.getExpression(), null, "rightOperand", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); addEOperation(binaryExpressionEClass, ecorePackage.getEEnumerator(), "getOperator", 0, 1, IS_UNIQUE, IS_ORDERED); initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getUnaryExpression_Operand(), this.getExpression(), null, "operand", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); addEOperation(unaryExpressionEClass, ecorePackage.getEEnumerator(), "getOperator", 0, 1, IS_UNIQUE, IS_ORDERED); initEClass(argumentExpressionEClass, ArgumentExpression.class, "ArgumentExpression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getArgumentExpression_Args(), this.getExpression(), null, "args", null, 0, -1, ArgumentExpression.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(boolLiteralEClass, BoolLiteral.class, "BoolLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getBoolLiteral_Value(), ecorePackage.getEBoolean(), "value", null, 0, 1, BoolLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 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(doubleLiteralEClass, DoubleLiteral.class, "DoubleLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getDoubleLiteral_Value(), ecorePackage.getEDouble(), "value", null, 0, 1, DoubleLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(floatLiteralEClass, FloatLiteral.class, "FloatLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getFloatLiteral_Value(), ecorePackage.getEFloat(), "value", null, 0, 1, FloatLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(hexLiteralEClass, HexLiteral.class, "HexLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getHexLiteral_Value(), ecorePackage.getEInt(), "value", null, 0, 1, HexLiteral.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(nullLiteralEClass, NullLiteral.class, "NullLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(assignmentExpressionEClass, AssignmentExpression.class, "AssignmentExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAssignmentExpression_VarRef(), this.getExpression(), null, "varRef", null, 0, 1, AssignmentExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getAssignmentExpression_Operator(), this.getAssignmentOperator(), "operator", null, 0, 1, AssignmentExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAssignmentExpression_Expression(), this.getExpression(), null, "expression", null, 0, 1, AssignmentExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 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_TrueCase(), this.getExpression(), null, "trueCase", 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_FalseCase(), this.getExpression(), null, "falseCase", 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(logicalOrExpressionEClass, LogicalOrExpression.class, "LogicalOrExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(logicalAndExpressionEClass, LogicalAndExpression.class, "LogicalAndExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(logicalNotExpressionEClass, LogicalNotExpression.class, "LogicalNotExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(bitwiseXorExpressionEClass, BitwiseXorExpression.class, "BitwiseXorExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(bitwiseOrExpressionEClass, BitwiseOrExpression.class, "BitwiseOrExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(bitwiseAndExpressionEClass, BitwiseAndExpression.class, "BitwiseAndExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(logicalRelationExpressionEClass, LogicalRelationExpression.class, "LogicalRelationExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getLogicalRelationExpression_Operator(), this.getRelationalOperator(), "operator", null, 0, 1, LogicalRelationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(shiftExpressionEClass, ShiftExpression.class, "ShiftExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getShiftExpression_Operator(), this.getShiftOperator(), "operator", null, 0, 1, ShiftExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(numericalAddSubtractExpressionEClass, NumericalAddSubtractExpression.class, "NumericalAddSubtractExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getNumericalAddSubtractExpression_Operator(), this.getAdditiveOperator(), "operator", null, 0, 1, NumericalAddSubtractExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(numericalMultiplyDivideExpressionEClass, NumericalMultiplyDivideExpression.class, "NumericalMultiplyDivideExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getNumericalMultiplyDivideExpression_Operator(), this.getMultiplicativeOperator(), "operator", null, 0, 1, NumericalMultiplyDivideExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(numericalUnaryExpressionEClass, NumericalUnaryExpression.class, "NumericalUnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getNumericalUnaryExpression_Operator(), this.getUnaryOperator(), "operator", null, 0, 1, NumericalUnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(primitiveValueExpressionEClass, PrimitiveValueExpression.class, "PrimitiveValueExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getPrimitiveValueExpression_Value(), this.getLiteral(), null, "value", null, 0, 1, PrimitiveValueExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(featureCallEClass, FeatureCall.class, "FeatureCall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getFeatureCall_Owner(), this.getExpression(), null, "owner", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getFeatureCall_Feature(), ecorePackage.getEObject(), null, "feature", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getFeatureCall_OperationCall(), ecorePackage.getEBoolean(), "operationCall", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getFeatureCall_ArraySelector(), this.getExpression(), null, "arraySelector", null, 0, -1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getFeatureCall_ArrayAccess(), ecorePackage.getEBoolean(), "arrayAccess", null, 0, 1, FeatureCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(elementReferenceExpressionEClass, ElementReferenceExpression.class, "ElementReferenceExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getElementReferenceExpression_Reference(), ecorePackage.getEObject(), null, "reference", null, 0, 1, ElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getElementReferenceExpression_OperationCall(), ecorePackage.getEBoolean(), "operationCall", null, 0, 1, ElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getElementReferenceExpression_ArraySelector(), this.getExpression(), null, "arraySelector", null, 0, -1, ElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getElementReferenceExpression_ArrayAccess(), ecorePackage.getEBoolean(), "arrayAccess", null, 0, 1, ElementReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(parenthesizedExpressionEClass, ParenthesizedExpression.class, "ParenthesizedExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getParenthesizedExpression_Expression(), this.getExpression(), null, "expression", null, 0, 1, ParenthesizedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(typeCastExpressionEClass, TypeCastExpression.class, "TypeCastExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTypeCastExpression_Operand(), this.getExpression(), null, "operand", null, 0, 1, TypeCastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTypeCastExpression_Type(), theTypesPackage.getType(), null, "type", null, 0, 1, TypeCastExpression.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(assignmentOperatorEEnum, AssignmentOperator.class, "AssignmentOperator"); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.MULT_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.DIV_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.MOD_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.ADD_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.SUB_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.LEFT_SHIFT_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.RIGHT_SHIFT_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.AND_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.XOR_ASSIGN); addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.OR_ASSIGN); initEEnum(shiftOperatorEEnum, ShiftOperator.class, "ShiftOperator"); addEEnumLiteral(shiftOperatorEEnum, ShiftOperator.LEFT); addEEnumLiteral(shiftOperatorEEnum, ShiftOperator.RIGHT); initEEnum(additiveOperatorEEnum, AdditiveOperator.class, "AdditiveOperator"); addEEnumLiteral(additiveOperatorEEnum, AdditiveOperator.PLUS); addEEnumLiteral(additiveOperatorEEnum, AdditiveOperator.MINUS); initEEnum(multiplicativeOperatorEEnum, MultiplicativeOperator.class, "MultiplicativeOperator"); addEEnumLiteral(multiplicativeOperatorEEnum, MultiplicativeOperator.MUL); addEEnumLiteral(multiplicativeOperatorEEnum, MultiplicativeOperator.DIV); addEEnumLiteral(multiplicativeOperatorEEnum, MultiplicativeOperator.MOD); initEEnum(unaryOperatorEEnum, UnaryOperator.class, "UnaryOperator"); addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.POSITIVE); addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.NEGATIVE); addEEnumLiteral(unaryOperatorEEnum, UnaryOperator.COMPLEMENT); initEEnum(relationalOperatorEEnum, RelationalOperator.class, "RelationalOperator"); addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.SMALLER); addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.SMALLER_EQUAL); addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.GREATER); addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.GREATER_EQUAL); addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.EQUALS); addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.NOT_EQUALS); initEEnum(logicalOperatorEEnum, LogicalOperator.class, "LogicalOperator"); addEEnumLiteral(logicalOperatorEEnum, LogicalOperator.AND); addEEnumLiteral(logicalOperatorEEnum, LogicalOperator.OR); addEEnumLiteral(logicalOperatorEEnum, LogicalOperator.NOT); initEEnum(bitwiseOperatorEEnum, BitwiseOperator.class, "BitwiseOperator"); addEEnumLiteral(bitwiseOperatorEEnum, BitwiseOperator.XOR); addEEnumLiteral(bitwiseOperatorEEnum, BitwiseOperator.AND); addEEnumLiteral(bitwiseOperatorEEnum, BitwiseOperator.OR); // Create resource createResource(eNS_URI); } } //ExpressionsPackageImpl