/** */ package org.example.smalljava.smallJava.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.example.smalljava.smallJava.SJAccessLevel; import org.example.smalljava.smallJava.SJAssignment; import org.example.smalljava.smallJava.SJBlock; import org.example.smalljava.smallJava.SJBoolConstant; import org.example.smalljava.smallJava.SJClass; import org.example.smalljava.smallJava.SJExpression; import org.example.smalljava.smallJava.SJField; import org.example.smalljava.smallJava.SJIfBlock; import org.example.smalljava.smallJava.SJIfStatement; import org.example.smalljava.smallJava.SJImport; import org.example.smalljava.smallJava.SJIntConstant; import org.example.smalljava.smallJava.SJMember; import org.example.smalljava.smallJava.SJMemberSelection; import org.example.smalljava.smallJava.SJMethod; import org.example.smalljava.smallJava.SJMethodBody; import org.example.smalljava.smallJava.SJNew; import org.example.smalljava.smallJava.SJNull; import org.example.smalljava.smallJava.SJParameter; import org.example.smalljava.smallJava.SJProgram; import org.example.smalljava.smallJava.SJReturn; import org.example.smalljava.smallJava.SJStatement; import org.example.smalljava.smallJava.SJStringConstant; import org.example.smalljava.smallJava.SJSuper; import org.example.smalljava.smallJava.SJSymbol; import org.example.smalljava.smallJava.SJSymbolRef; import org.example.smalljava.smallJava.SJThis; import org.example.smalljava.smallJava.SJVariableDeclaration; import org.example.smalljava.smallJava.SmallJavaFactory; import org.example.smalljava.smallJava.SmallJavaPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class SmallJavaPackageImpl extends EPackageImpl implements SmallJavaPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjProgramEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjImportEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjClassEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjMemberEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjFieldEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjMethodEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjParameterEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjMethodBodyEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjStatementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjReturnEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjVariableDeclarationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjIfStatementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjIfBlockEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjBlockEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjSymbolEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjAssignmentEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjMemberSelectionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjStringConstantEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjIntConstantEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjBoolConstantEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjThisEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjSuperEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjNullEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjSymbolRefEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sjNewEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum sjAccessLevelEEnum = 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.example.smalljava.smallJava.SmallJavaPackage#eNS_URI * @see #init() * @generated */ private SmallJavaPackageImpl() { super(eNS_URI, SmallJavaFactory.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 SmallJavaPackage#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 SmallJavaPackage init() { if (isInited) return (SmallJavaPackage)EPackage.Registry.INSTANCE.getEPackage(SmallJavaPackage.eNS_URI); // Obtain or create and register package SmallJavaPackageImpl theSmallJavaPackage = (SmallJavaPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SmallJavaPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SmallJavaPackageImpl()); isInited = true; // Create package meta-data objects theSmallJavaPackage.createPackageContents(); // Initialize created meta-data theSmallJavaPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theSmallJavaPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(SmallJavaPackage.eNS_URI, theSmallJavaPackage); return theSmallJavaPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJProgram() { return sjProgramEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJProgram_Name() { return (EAttribute)sjProgramEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJProgram_Imports() { return (EReference)sjProgramEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJProgram_Classes() { return (EReference)sjProgramEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJImport() { return sjImportEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJImport_ImportedNamespace() { return (EAttribute)sjImportEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJClass() { return sjClassEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJClass_Name() { return (EAttribute)sjClassEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJClass_Superclass() { return (EReference)sjClassEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJClass_Members() { return (EReference)sjClassEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJMember() { return sjMemberEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJMember_Access() { return (EAttribute)sjMemberEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJMember_Type() { return (EReference)sjMemberEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJMember_Name() { return (EAttribute)sjMemberEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJField() { return sjFieldEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJMethod() { return sjMethodEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJMethod_Params() { return (EReference)sjMethodEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJMethod_Body() { return (EReference)sjMethodEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJParameter() { return sjParameterEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJMethodBody() { return sjMethodBodyEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJStatement() { return sjStatementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJReturn() { return sjReturnEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJReturn_Expression() { return (EReference)sjReturnEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJVariableDeclaration() { return sjVariableDeclarationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJVariableDeclaration_Expression() { return (EReference)sjVariableDeclarationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJIfStatement() { return sjIfStatementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJIfStatement_Expression() { return (EReference)sjIfStatementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJIfStatement_ThenBlock() { return (EReference)sjIfStatementEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJIfStatement_ElseBlock() { return (EReference)sjIfStatementEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJIfBlock() { return sjIfBlockEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJBlock() { return sjBlockEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJBlock_Statements() { return (EReference)sjBlockEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJSymbol() { return sjSymbolEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJSymbol_Type() { return (EReference)sjSymbolEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJSymbol_Name() { return (EAttribute)sjSymbolEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJExpression() { return sjExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJAssignment() { return sjAssignmentEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJAssignment_Left() { return (EReference)sjAssignmentEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJAssignment_Right() { return (EReference)sjAssignmentEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJMemberSelection() { return sjMemberSelectionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJMemberSelection_Receiver() { return (EReference)sjMemberSelectionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJMemberSelection_Member() { return (EReference)sjMemberSelectionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJMemberSelection_Methodinvocation() { return (EAttribute)sjMemberSelectionEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJMemberSelection_Args() { return (EReference)sjMemberSelectionEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJStringConstant() { return sjStringConstantEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJStringConstant_Value() { return (EAttribute)sjStringConstantEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJIntConstant() { return sjIntConstantEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJIntConstant_Value() { return (EAttribute)sjIntConstantEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJBoolConstant() { return sjBoolConstantEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSJBoolConstant_Value() { return (EAttribute)sjBoolConstantEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJThis() { return sjThisEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJSuper() { return sjSuperEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJNull() { return sjNullEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJSymbolRef() { return sjSymbolRefEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJSymbolRef_Symbol() { return (EReference)sjSymbolRefEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSJNew() { return sjNewEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSJNew_Type() { return (EReference)sjNewEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getSJAccessLevel() { return sjAccessLevelEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public SmallJavaFactory getSmallJavaFactory() { return (SmallJavaFactory)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 sjProgramEClass = createEClass(SJ_PROGRAM); createEAttribute(sjProgramEClass, SJ_PROGRAM__NAME); createEReference(sjProgramEClass, SJ_PROGRAM__IMPORTS); createEReference(sjProgramEClass, SJ_PROGRAM__CLASSES); sjImportEClass = createEClass(SJ_IMPORT); createEAttribute(sjImportEClass, SJ_IMPORT__IMPORTED_NAMESPACE); sjClassEClass = createEClass(SJ_CLASS); createEAttribute(sjClassEClass, SJ_CLASS__NAME); createEReference(sjClassEClass, SJ_CLASS__SUPERCLASS); createEReference(sjClassEClass, SJ_CLASS__MEMBERS); sjMemberEClass = createEClass(SJ_MEMBER); createEAttribute(sjMemberEClass, SJ_MEMBER__ACCESS); createEReference(sjMemberEClass, SJ_MEMBER__TYPE); createEAttribute(sjMemberEClass, SJ_MEMBER__NAME); sjFieldEClass = createEClass(SJ_FIELD); sjMethodEClass = createEClass(SJ_METHOD); createEReference(sjMethodEClass, SJ_METHOD__PARAMS); createEReference(sjMethodEClass, SJ_METHOD__BODY); sjParameterEClass = createEClass(SJ_PARAMETER); sjMethodBodyEClass = createEClass(SJ_METHOD_BODY); sjStatementEClass = createEClass(SJ_STATEMENT); sjReturnEClass = createEClass(SJ_RETURN); createEReference(sjReturnEClass, SJ_RETURN__EXPRESSION); sjVariableDeclarationEClass = createEClass(SJ_VARIABLE_DECLARATION); createEReference(sjVariableDeclarationEClass, SJ_VARIABLE_DECLARATION__EXPRESSION); sjIfStatementEClass = createEClass(SJ_IF_STATEMENT); createEReference(sjIfStatementEClass, SJ_IF_STATEMENT__EXPRESSION); createEReference(sjIfStatementEClass, SJ_IF_STATEMENT__THEN_BLOCK); createEReference(sjIfStatementEClass, SJ_IF_STATEMENT__ELSE_BLOCK); sjIfBlockEClass = createEClass(SJ_IF_BLOCK); sjBlockEClass = createEClass(SJ_BLOCK); createEReference(sjBlockEClass, SJ_BLOCK__STATEMENTS); sjSymbolEClass = createEClass(SJ_SYMBOL); createEReference(sjSymbolEClass, SJ_SYMBOL__TYPE); createEAttribute(sjSymbolEClass, SJ_SYMBOL__NAME); sjExpressionEClass = createEClass(SJ_EXPRESSION); sjAssignmentEClass = createEClass(SJ_ASSIGNMENT); createEReference(sjAssignmentEClass, SJ_ASSIGNMENT__LEFT); createEReference(sjAssignmentEClass, SJ_ASSIGNMENT__RIGHT); sjMemberSelectionEClass = createEClass(SJ_MEMBER_SELECTION); createEReference(sjMemberSelectionEClass, SJ_MEMBER_SELECTION__RECEIVER); createEReference(sjMemberSelectionEClass, SJ_MEMBER_SELECTION__MEMBER); createEAttribute(sjMemberSelectionEClass, SJ_MEMBER_SELECTION__METHODINVOCATION); createEReference(sjMemberSelectionEClass, SJ_MEMBER_SELECTION__ARGS); sjStringConstantEClass = createEClass(SJ_STRING_CONSTANT); createEAttribute(sjStringConstantEClass, SJ_STRING_CONSTANT__VALUE); sjIntConstantEClass = createEClass(SJ_INT_CONSTANT); createEAttribute(sjIntConstantEClass, SJ_INT_CONSTANT__VALUE); sjBoolConstantEClass = createEClass(SJ_BOOL_CONSTANT); createEAttribute(sjBoolConstantEClass, SJ_BOOL_CONSTANT__VALUE); sjThisEClass = createEClass(SJ_THIS); sjSuperEClass = createEClass(SJ_SUPER); sjNullEClass = createEClass(SJ_NULL); sjSymbolRefEClass = createEClass(SJ_SYMBOL_REF); createEReference(sjSymbolRefEClass, SJ_SYMBOL_REF__SYMBOL); sjNewEClass = createEClass(SJ_NEW); createEReference(sjNewEClass, SJ_NEW__TYPE); // Create enums sjAccessLevelEEnum = createEEnum(SJ_ACCESS_LEVEL); } /** * <!-- 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); // Create type parameters // Set bounds for type parameters // Add supertypes to classes sjFieldEClass.getESuperTypes().add(this.getSJMember()); sjMethodEClass.getESuperTypes().add(this.getSJMember()); sjParameterEClass.getESuperTypes().add(this.getSJSymbol()); sjMethodBodyEClass.getESuperTypes().add(this.getSJBlock()); sjReturnEClass.getESuperTypes().add(this.getSJStatement()); sjVariableDeclarationEClass.getESuperTypes().add(this.getSJStatement()); sjVariableDeclarationEClass.getESuperTypes().add(this.getSJSymbol()); sjIfStatementEClass.getESuperTypes().add(this.getSJStatement()); sjIfBlockEClass.getESuperTypes().add(this.getSJBlock()); sjExpressionEClass.getESuperTypes().add(this.getSJStatement()); sjAssignmentEClass.getESuperTypes().add(this.getSJExpression()); sjMemberSelectionEClass.getESuperTypes().add(this.getSJExpression()); sjStringConstantEClass.getESuperTypes().add(this.getSJExpression()); sjIntConstantEClass.getESuperTypes().add(this.getSJExpression()); sjBoolConstantEClass.getESuperTypes().add(this.getSJExpression()); sjThisEClass.getESuperTypes().add(this.getSJExpression()); sjSuperEClass.getESuperTypes().add(this.getSJExpression()); sjNullEClass.getESuperTypes().add(this.getSJExpression()); sjSymbolRefEClass.getESuperTypes().add(this.getSJExpression()); sjNewEClass.getESuperTypes().add(this.getSJExpression()); // Initialize classes and features; add operations and parameters initEClass(sjProgramEClass, SJProgram.class, "SJProgram", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSJProgram_Name(), ecorePackage.getEString(), "name", null, 0, 1, SJProgram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJProgram_Imports(), this.getSJImport(), null, "imports", null, 0, -1, SJProgram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJProgram_Classes(), this.getSJClass(), null, "classes", null, 0, -1, SJProgram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjImportEClass, SJImport.class, "SJImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSJImport_ImportedNamespace(), ecorePackage.getEString(), "importedNamespace", null, 0, 1, SJImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjClassEClass, SJClass.class, "SJClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSJClass_Name(), ecorePackage.getEString(), "name", null, 0, 1, SJClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJClass_Superclass(), this.getSJClass(), null, "superclass", null, 0, 1, SJClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJClass_Members(), this.getSJMember(), null, "members", null, 0, -1, SJClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjMemberEClass, SJMember.class, "SJMember", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSJMember_Access(), this.getSJAccessLevel(), "access", null, 0, 1, SJMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJMember_Type(), this.getSJClass(), null, "type", null, 0, 1, SJMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getSJMember_Name(), ecorePackage.getEString(), "name", null, 0, 1, SJMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjFieldEClass, SJField.class, "SJField", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjMethodEClass, SJMethod.class, "SJMethod", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJMethod_Params(), this.getSJParameter(), null, "params", null, 0, -1, SJMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJMethod_Body(), this.getSJMethodBody(), null, "body", null, 0, 1, SJMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjParameterEClass, SJParameter.class, "SJParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjMethodBodyEClass, SJMethodBody.class, "SJMethodBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjStatementEClass, SJStatement.class, "SJStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjReturnEClass, SJReturn.class, "SJReturn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJReturn_Expression(), this.getSJExpression(), null, "expression", null, 0, 1, SJReturn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjVariableDeclarationEClass, SJVariableDeclaration.class, "SJVariableDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJVariableDeclaration_Expression(), this.getSJExpression(), null, "expression", null, 0, 1, SJVariableDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjIfStatementEClass, SJIfStatement.class, "SJIfStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJIfStatement_Expression(), this.getSJExpression(), null, "expression", null, 0, 1, SJIfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJIfStatement_ThenBlock(), this.getSJIfBlock(), null, "thenBlock", null, 0, 1, SJIfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJIfStatement_ElseBlock(), this.getSJIfBlock(), null, "elseBlock", null, 0, 1, SJIfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjIfBlockEClass, SJIfBlock.class, "SJIfBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjBlockEClass, SJBlock.class, "SJBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJBlock_Statements(), this.getSJStatement(), null, "statements", null, 0, -1, SJBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjSymbolEClass, SJSymbol.class, "SJSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJSymbol_Type(), this.getSJClass(), null, "type", null, 0, 1, SJSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getSJSymbol_Name(), ecorePackage.getEString(), "name", null, 0, 1, SJSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjExpressionEClass, SJExpression.class, "SJExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjAssignmentEClass, SJAssignment.class, "SJAssignment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJAssignment_Left(), this.getSJExpression(), null, "left", null, 0, 1, SJAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJAssignment_Right(), this.getSJExpression(), null, "right", null, 0, 1, SJAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjMemberSelectionEClass, SJMemberSelection.class, "SJMemberSelection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJMemberSelection_Receiver(), this.getSJExpression(), null, "receiver", null, 0, 1, SJMemberSelection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJMemberSelection_Member(), this.getSJMember(), null, "member", null, 0, 1, SJMemberSelection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getSJMemberSelection_Methodinvocation(), ecorePackage.getEBoolean(), "methodinvocation", null, 0, 1, SJMemberSelection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSJMemberSelection_Args(), this.getSJExpression(), null, "args", null, 0, -1, SJMemberSelection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjStringConstantEClass, SJStringConstant.class, "SJStringConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSJStringConstant_Value(), ecorePackage.getEString(), "value", null, 0, 1, SJStringConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjIntConstantEClass, SJIntConstant.class, "SJIntConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSJIntConstant_Value(), ecorePackage.getEInt(), "value", null, 0, 1, SJIntConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjBoolConstantEClass, SJBoolConstant.class, "SJBoolConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSJBoolConstant_Value(), ecorePackage.getEString(), "value", null, 0, 1, SJBoolConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjThisEClass, SJThis.class, "SJThis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjSuperEClass, SJSuper.class, "SJSuper", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjNullEClass, SJNull.class, "SJNull", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sjSymbolRefEClass, SJSymbolRef.class, "SJSymbolRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJSymbolRef_Symbol(), this.getSJSymbol(), null, "symbol", null, 0, 1, SJSymbolRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sjNewEClass, SJNew.class, "SJNew", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSJNew_Type(), this.getSJClass(), null, "type", null, 0, 1, SJNew.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(sjAccessLevelEEnum, SJAccessLevel.class, "SJAccessLevel"); addEEnumLiteral(sjAccessLevelEEnum, SJAccessLevel.PRIVATE); addEEnumLiteral(sjAccessLevelEEnum, SJAccessLevel.PUBLIC); addEEnumLiteral(sjAccessLevelEEnum, SJAccessLevel.PROTECTED); // Create resource createResource(eNS_URI); } } //SmallJavaPackageImpl