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
		xFunctionTypeRefEClass.getESuperTypes().add(theTypesPackage.getJvmSpecializedTypeReference());
		xComputedTypeReferenceEClass.getESuperTypes().add(theTypesPackage.getJvmSpecializedTypeReference());

		// Initialize classes and features; add operations and parameters
		initEClass(xFunctionTypeRefEClass, XFunctionTypeRef.class, "XFunctionTypeRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getXFunctionTypeRef_ParamTypes(), theTypesPackage.getJvmTypeReference(), null, "paramTypes", null, 0, -1, XFunctionTypeRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXFunctionTypeRef_ReturnType(), theTypesPackage.getJvmTypeReference(), null, "returnType", null, 0, 1, XFunctionTypeRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXFunctionTypeRef_Type(), theTypesPackage.getJvmType(), null, "type", null, 0, 1, XFunctionTypeRef.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getXFunctionTypeRef_InstanceContext(), ecorePackage.getEBoolean(), "instanceContext", null, 0, 1, XFunctionTypeRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xComputedTypeReferenceEClass, XComputedTypeReference.class, "XComputedTypeReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXComputedTypeReference_TypeProvider(), this.getIJvmTypeReferenceProvider(), "typeProvider", null, 0, 1, XComputedTypeReference.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xImportSectionEClass, XImportSection.class, "XImportSection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getXImportSection_ImportDeclarations(), this.getXImportDeclaration(), null, "importDeclarations", null, 0, -1, XImportSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xImportDeclarationEClass, XImportDeclaration.class, "XImportDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXImportDeclaration_Wildcard(), ecorePackage.getEBoolean(), "wildcard", null, 0, 1, XImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXImportDeclaration_Extension(), ecorePackage.getEBoolean(), "extension", null, 0, 1, XImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXImportDeclaration_Static(), ecorePackage.getEBoolean(), "static", null, 0, 1, XImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXImportDeclaration_ImportedType(), theTypesPackage.getJvmDeclaredType(), null, "importedType", null, 0, 1, XImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXImportDeclaration_MemberName(), ecorePackage.getEString(), "memberName", null, 0, 1, XImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXImportDeclaration_ImportedNamespace(), ecorePackage.getEString(), "importedNamespace", null, 0, 1, XImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		addEOperation(xImportDeclarationEClass, ecorePackage.getEString(), "getImportedName", 0, 1, IS_UNIQUE, IS_ORDERED);

		addEOperation(xImportDeclarationEClass, ecorePackage.getEString(), "getImportedTypeName", 0, 1, IS_UNIQUE, IS_ORDERED);

		// Initialize data types
		initEDataType(iJvmTypeReferenceProviderEDataType, IJvmTypeReferenceProvider.class, "IJvmTypeReferenceProvider", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);

		// Create resource
		createResource(eNS_URI);
	}
public void initializePackageContents ( ) { if ( isInitialized ) return ; isInitialized = true ; setName ( eNAME ) ; setNsPrefix ( eNS_PREFIX ) ; setNsURI ( eNS_URI ) ; TypesPackage theTypesPackage = ( TypesPackage ) EPackage . Registry . INSTANCE . getEPackage ( TypesPackage . eNS_URI ) ; xFunctionTypeRefEClass . getESuperTypes ( ) . add ( theTypesPackage . getJvmSpecializedTypeReference ( ) ) ; xComputedTypeReferenceEClass . getESuperTypes ( ) . add ( theTypesPackage . getJvmSpecializedTypeReference ( ) ) ; initEClass ( xFunctionTypeRefEClass , XFunctionTypeRef . class , "XFunctionTypeRef" , ! IS_ABSTRACT , ! IS_INTERFACE , IS_GENERATED_INSTANCE_CLASS ) ; initEReference ( getXFunctionTypeRef_ParamTypes ( ) , theTypesPackage . getJvmTypeReference ( ) , null , "paramTypes" , null , 0 , - 1 , XFunctionTypeRef . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , IS_COMPOSITE , ! IS_RESOLVE_PROXIES , ! IS_UNSETTABLE , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEReference ( getXFunctionTypeRef_ReturnType ( ) , theTypesPackage . getJvmTypeReference ( ) , null , "returnType" , null , 0 , 1 , XFunctionTypeRef . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , IS_COMPOSITE , ! IS_RESOLVE_PROXIES , ! IS_UNSETTABLE , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEReference ( getXFunctionTypeRef_Type ( ) , theTypesPackage . getJvmType ( ) , null , "type" , null , 0 , 1 , XFunctionTypeRef . class , IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_COMPOSITE , IS_RESOLVE_PROXIES , ! IS_UNSETTABLE , IS_UNIQUE , IS_DERIVED , IS_ORDERED ) ; initEAttribute ( getXFunctionTypeRef_InstanceContext ( ) , ecorePackage . getEBoolean ( ) , "instanceContext" , null , 0 , 1 , XFunctionTypeRef . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_UNSETTABLE , ! IS_ID , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEClass ( xComputedTypeReferenceEClass , XComputedTypeReference . class , "XComputedTypeReference" , ! IS_ABSTRACT , ! IS_INTERFACE , IS_GENERATED_INSTANCE_CLASS ) ; initEAttribute ( getXComputedTypeReference_TypeProvider ( ) , this . getIJvmTypeReferenceProvider ( ) , "typeProvider" , null , 0 , 1 , XComputedTypeReference . class , IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_UNSETTABLE , ! IS_ID , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEClass ( xImportSectionEClass , XImportSection . class , "XImportSection" , ! IS_ABSTRACT , ! IS_INTERFACE , IS_GENERATED_INSTANCE_CLASS ) ; initEReference ( getXImportSection_ImportDeclarations ( ) , this . getXImportDeclaration ( ) , null , "importDeclarations" , null , 0 , - 1 , XImportSection . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , IS_COMPOSITE , ! IS_RESOLVE_PROXIES , ! IS_UNSETTABLE , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEClass ( xImportDeclarationEClass , XImportDeclaration . class , "XImportDeclaration" , ! IS_ABSTRACT , ! IS_INTERFACE , IS_GENERATED_INSTANCE_CLASS ) ; initEAttribute ( getXImportDeclaration_Wildcard ( ) , ecorePackage . getEBoolean ( ) , "wildcard" , null , 0 , 1 , XImportDeclaration . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_UNSETTABLE , ! IS_ID , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEAttribute ( getXImportDeclaration_Extension ( ) , ecorePackage . getEBoolean ( ) , "extension" , null , 0 , 1 , XImportDeclaration . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_UNSETTABLE , ! IS_ID , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEAttribute ( getXImportDeclaration_Static ( ) , ecorePackage . getEBoolean ( ) , "static" , null , 0 , 1 , XImportDeclaration . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_UNSETTABLE , ! IS_ID , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEReference ( getXImportDeclaration_ImportedType ( ) , theTypesPackage . getJvmDeclaredType ( ) , null , "importedType" , null , 0 , 1 , XImportDeclaration . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_COMPOSITE , IS_RESOLVE_PROXIES , ! IS_UNSETTABLE , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEAttribute ( getXImportDeclaration_MemberName ( ) , ecorePackage . getEString ( ) , "memberName" , null , 0 , 1 , XImportDeclaration . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_UNSETTABLE , ! IS_ID , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; initEAttribute ( getXImportDeclaration_ImportedNamespace ( ) , ecorePackage . getEString ( ) , "importedNamespace" , null , 0 , 1 , XImportDeclaration . class , ! IS_TRANSIENT , ! IS_VOLATILE , IS_CHANGEABLE , ! IS_UNSETTABLE , ! IS_ID , IS_UNIQUE , ! IS_DERIVED , IS_ORDERED ) ; addEOperation ( xImportDeclarationEClass , ecorePackage . getEString ( ) , "getImportedName" , 0 , 1 , IS_UNIQUE , IS_ORDERED ) ; addEOperation ( xImportDeclarationEClass , ecorePackage . getEString ( ) , "getImportedTypeName" , 0 , 1 , IS_UNIQUE , IS_ORDERED ) ; initEDataType ( iJvmTypeReferenceProviderEDataType , IJvmTypeReferenceProvider . class , "IJvmTypeReferenceProvider" , ! IS_SERIALIZABLE , ! IS_GENERATED_INSTANCE_CLASS ) ; createResource ( eNS_URI ) ; }
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