blob: fefab00b91f263510b905582470661910269dc2d [file] [log] [blame]
/**
* Copyright (c) 2007, 2018 Borland Software Corporation and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Borland Software Corporation - initial API and implementation
*
* $Id: ExpressionsPackageImpl.java,v 1.24 2009/01/28 22:22:44 sboyko Exp $
*/
package org.eclipse.m2m.internal.qvt.oml.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.EGenericType;
import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.ETypeParameter;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.m2m.internal.qvt.oml.expressions.Constructor;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.m2m.internal.qvt.oml.expressions.ConstructorBody;
import org.eclipse.m2m.internal.qvt.oml.expressions.ContextualProperty;
import org.eclipse.m2m.internal.qvt.oml.expressions.DirectionKind;
import org.eclipse.m2m.internal.qvt.oml.expressions.EntryOperation;
import org.eclipse.m2m.internal.qvt.oml.expressions.ExpressionsFactory;
import org.eclipse.m2m.internal.qvt.oml.expressions.ExpressionsPackage;
import org.eclipse.m2m.internal.qvt.oml.expressions.Helper;
import org.eclipse.m2m.internal.qvt.oml.expressions.ImperativeCallExp;
import org.eclipse.m2m.internal.qvt.oml.expressions.ImperativeOperation;
import org.eclipse.m2m.internal.qvt.oml.expressions.ImportKind;
import org.eclipse.m2m.internal.qvt.oml.expressions.Library;
import org.eclipse.m2m.internal.qvt.oml.expressions.MappingBody;
import org.eclipse.m2m.internal.qvt.oml.expressions.MappingCallExp;
import org.eclipse.m2m.internal.qvt.oml.expressions.MappingOperation;
import org.eclipse.m2m.internal.qvt.oml.expressions.MappingParameter;
import org.eclipse.m2m.internal.qvt.oml.expressions.ModelParameter;
import org.eclipse.m2m.internal.qvt.oml.expressions.ModelType;
import org.eclipse.m2m.internal.qvt.oml.expressions.ModuleImport;
import org.eclipse.m2m.internal.qvt.oml.expressions.ObjectExp;
import org.eclipse.m2m.internal.qvt.oml.expressions.OperationBody;
import org.eclipse.m2m.internal.qvt.oml.expressions.OperationalTransformation;
import org.eclipse.m2m.internal.qvt.oml.expressions.ResolveExp;
import org.eclipse.m2m.internal.qvt.oml.expressions.ResolveInExp;
import org.eclipse.m2m.internal.qvt.oml.expressions.VarParameter;
import org.eclipse.m2m.internal.qvt.oml.expressions.VisitableASTNode;
import org.eclipse.m2m.qvt.oml.ecore.ImperativeOCL.ImperativeOCLPackage;
import org.eclipse.ocl.types.TypesPackage;
import org.eclipse.ocl.utilities.UtilitiesPackage;
/**
* <!-- 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
*/
public static final String copyright = "Copyright (c) 2007 Borland Software Corporation\r\n\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v2.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v20.html\r\n \r\nContributors:\r\n Borland Software Corporation - initial API and implementation"; //$NON-NLS-1$
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass constructorEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass moduleEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass libraryEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass moduleImportEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass contextualPropertyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass imperativeCallExpEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass imperativeOperationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass modelParameterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass varParameterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass operationBodyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass constructorBodyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass mappingOperationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass helperEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass mappingBodyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass mappingCallExpEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass objectExpEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum importKindEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass visitableASTNodeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass resolveExpEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass resolveInExpEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass modelTypeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass mappingParameterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass operationalTransformationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass entryOperationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum directionKindEEnum = 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.eclipse.m2m.internal.qvt.oml.expressions.ExpressionsPackage#eNS_URI
* @see #init()
* @generated NOT
*/
private ExpressionsPackageImpl() {
super(eNS_URI, ExpressionsFactory.eINSTANCE);
QVTO_ROOT_PACKAGE.getESubpackages().add(this);
}
/**
* Root package of the QVT Operational model, which we have to "fake out"
* because EMF will not generate it.
*/
public static final EPackage QVTO_ROOT_PACKAGE;
static {
class QVTOPackageImpl extends EPackageImpl {
@Override
protected Resource createResource(String uri) {
return super.createResource(uri);
}
}
QVTOPackageImpl qvtoPackage = new QVTOPackageImpl();
qvtoPackage.setName("qvtoperational"); //$NON-NLS-1$
qvtoPackage.setNsPrefix("qvtoperational"); //$NON-NLS-1$
qvtoPackage.setNsURI("http://www.eclipse.org/QVT/1.0.0/Operational"); //$NON-NLS-1$
qvtoPackage.createResource(qvtoPackage.getNsURI());
QVTO_ROOT_PACKAGE = qvtoPackage;
EPackage.Registry.INSTANCE.put(QVTO_ROOT_PACKAGE.getNsURI(), QVTO_ROOT_PACKAGE);
}
/**
* <!-- 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
Object registeredExpressionsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
ExpressionsPackageImpl theExpressionsPackage = registeredExpressionsPackage instanceof ExpressionsPackageImpl ? (ExpressionsPackageImpl)registeredExpressionsPackage : new ExpressionsPackageImpl();
isInited = true;
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
ImperativeOCLPackage.eINSTANCE.eClass();
TypesPackage.eINSTANCE.eClass();
UtilitiesPackage.eINSTANCE.eClass();
org.eclipse.ocl.expressions.ExpressionsPackage.eINSTANCE.eClass();
org.eclipse.ocl.ecore.EcorePackage.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 getConstructor() {
return constructorEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getModule() {
return moduleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_OwnedVariable() {
return (EReference)moduleEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_ModuleImport() {
return (EReference)moduleEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_OwnedTag() {
return (EReference)moduleEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_UsedModelType() {
return (EReference)moduleEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_ConfigProperty() {
return (EReference)moduleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModule_Entry() {
return (EReference)moduleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModule_IsBlackbox() {
return (EAttribute)moduleEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getLibrary() {
return libraryEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getModuleImport() {
return moduleImportEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModuleImport_Binding() {
return (EReference)moduleImportEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModuleImport_Module() {
return (EReference)moduleImportEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModuleImport_ImportedModule() {
return (EReference)moduleImportEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModuleImport_Kind() {
return (EAttribute)moduleImportEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getContextualProperty() {
return contextualPropertyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getContextualProperty_Context() {
return (EReference)contextualPropertyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getContextualProperty_Overridden() {
return (EReference)contextualPropertyEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getImperativeCallExp() {
return imperativeCallExpEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getImperativeCallExp_IsVirtual() {
return (EAttribute)imperativeCallExpEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getContextualProperty_InitExpression() {
return (EReference)contextualPropertyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getImperativeOperation() {
return imperativeOperationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getImperativeOperation_Context() {
return (EReference)imperativeOperationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getImperativeOperation_Result() {
return (EReference)imperativeOperationEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getImperativeOperation_Body() {
return (EReference)imperativeOperationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getImperativeOperation_IsBlackbox() {
return (EAttribute)imperativeOperationEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getImperativeOperation_Overridden() {
return (EReference)imperativeOperationEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getModelParameter() {
return modelParameterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getVarParameter() {
return varParameterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVarParameter_CtxOwner() {
return (EReference)varParameterEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVarParameter_ResOwner() {
return (EReference)varParameterEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getVarParameter_Kind() {
return (EAttribute)varParameterEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getOperationBody() {
return operationBodyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getOperationBody_Operation() {
return (EReference)operationBodyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getOperationBody_Content() {
return (EReference)operationBodyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getOperationBody_Variable() {
return (EReference)operationBodyEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getConstructorBody() {
return constructorBodyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMappingOperation() {
return mappingOperationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingOperation_When() {
return (EReference)mappingOperationEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingOperation_Where() {
return (EReference)mappingOperationEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingOperation_Inherited() {
return (EReference)mappingOperationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingOperation_Merged() {
return (EReference)mappingOperationEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingOperation_Disjunct() {
return (EReference)mappingOperationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getHelper() {
return helperEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getHelper_IsQuery() {
return (EAttribute)helperEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMappingBody() {
return mappingBodyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingBody_InitSection() {
return (EReference)mappingBodyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingBody_EndSection() {
return (EReference)mappingBodyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMappingCallExp() {
return mappingCallExpEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMappingCallExp_IsStrict() {
return (EAttribute)mappingCallExpEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getObjectExp() {
return objectExpEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getObjectExp_Body() {
return (EReference)objectExpEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getObjectExp_ReferredObject() {
return (EReference)objectExpEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getImportKind() {
return importKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getVisitableASTNode() {
return visitableASTNodeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getResolveExp() {
return resolveExpEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResolveExp_One() {
return (EAttribute)resolveExpEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResolveExp_IsInverse() {
return (EAttribute)resolveExpEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResolveExp_IsDeferred() {
return (EAttribute)resolveExpEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResolveExp_Target() {
return (EReference)resolveExpEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResolveExp_Condition() {
return (EReference)resolveExpEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getResolveInExp() {
return resolveInExpEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResolveInExp_InMapping() {
return (EReference)resolveInExpEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getModelType() {
return modelTypeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelType_AdditionalCondition() {
return (EReference)modelTypeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModelType_ConformanceKind() {
return (EAttribute)modelTypeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelType_Metamodel() {
return (EReference)modelTypeEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMappingParameter() {
return mappingParameterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMappingParameter_Extent() {
return (EReference)mappingParameterEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getOperationalTransformation() {
return operationalTransformationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getOperationalTransformation_IntermediateClass() {
return (EReference)operationalTransformationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getOperationalTransformation_IntermediateProperty() {
return (EReference)operationalTransformationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getOperationalTransformation_ModelParameter() {
return (EReference)operationalTransformationEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getEntryOperation() {
return entryOperationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getDirectionKind() {
return directionKindEEnum;
}
/**
* <!-- 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
constructorEClass = createEClass(CONSTRUCTOR);
constructorBodyEClass = createEClass(CONSTRUCTOR_BODY);
contextualPropertyEClass = createEClass(CONTEXTUAL_PROPERTY);
createEReference(contextualPropertyEClass, CONTEXTUAL_PROPERTY__CONTEXT);
createEReference(contextualPropertyEClass, CONTEXTUAL_PROPERTY__INIT_EXPRESSION);
createEReference(contextualPropertyEClass, CONTEXTUAL_PROPERTY__OVERRIDDEN);
entryOperationEClass = createEClass(ENTRY_OPERATION);
helperEClass = createEClass(HELPER);
createEAttribute(helperEClass, HELPER__IS_QUERY);
imperativeCallExpEClass = createEClass(IMPERATIVE_CALL_EXP);
createEAttribute(imperativeCallExpEClass, IMPERATIVE_CALL_EXP__IS_VIRTUAL);
imperativeOperationEClass = createEClass(IMPERATIVE_OPERATION);
createEReference(imperativeOperationEClass, IMPERATIVE_OPERATION__BODY);
createEReference(imperativeOperationEClass, IMPERATIVE_OPERATION__CONTEXT);
createEAttribute(imperativeOperationEClass, IMPERATIVE_OPERATION__IS_BLACKBOX);
createEReference(imperativeOperationEClass, IMPERATIVE_OPERATION__OVERRIDDEN);
createEReference(imperativeOperationEClass, IMPERATIVE_OPERATION__RESULT);
libraryEClass = createEClass(LIBRARY);
mappingBodyEClass = createEClass(MAPPING_BODY);
createEReference(mappingBodyEClass, MAPPING_BODY__END_SECTION);
createEReference(mappingBodyEClass, MAPPING_BODY__INIT_SECTION);
mappingCallExpEClass = createEClass(MAPPING_CALL_EXP);
createEAttribute(mappingCallExpEClass, MAPPING_CALL_EXP__IS_STRICT);
mappingOperationEClass = createEClass(MAPPING_OPERATION);
createEReference(mappingOperationEClass, MAPPING_OPERATION__DISJUNCT);
createEReference(mappingOperationEClass, MAPPING_OPERATION__INHERITED);
createEReference(mappingOperationEClass, MAPPING_OPERATION__MERGED);
createEReference(mappingOperationEClass, MAPPING_OPERATION__WHEN);
createEReference(mappingOperationEClass, MAPPING_OPERATION__WHERE);
mappingParameterEClass = createEClass(MAPPING_PARAMETER);
createEReference(mappingParameterEClass, MAPPING_PARAMETER__EXTENT);
modelParameterEClass = createEClass(MODEL_PARAMETER);
modelTypeEClass = createEClass(MODEL_TYPE);
createEReference(modelTypeEClass, MODEL_TYPE__ADDITIONAL_CONDITION);
createEAttribute(modelTypeEClass, MODEL_TYPE__CONFORMANCE_KIND);
createEReference(modelTypeEClass, MODEL_TYPE__METAMODEL);
moduleEClass = createEClass(MODULE);
createEReference(moduleEClass, MODULE__CONFIG_PROPERTY);
createEReference(moduleEClass, MODULE__ENTRY);
createEAttribute(moduleEClass, MODULE__IS_BLACKBOX);
createEReference(moduleEClass, MODULE__MODULE_IMPORT);
createEReference(moduleEClass, MODULE__OWNED_TAG);
createEReference(moduleEClass, MODULE__OWNED_VARIABLE);
createEReference(moduleEClass, MODULE__USED_MODEL_TYPE);
moduleImportEClass = createEClass(MODULE_IMPORT);
createEReference(moduleImportEClass, MODULE_IMPORT__BINDING);
createEReference(moduleImportEClass, MODULE_IMPORT__IMPORTED_MODULE);
createEAttribute(moduleImportEClass, MODULE_IMPORT__KIND);
createEReference(moduleImportEClass, MODULE_IMPORT__MODULE);
objectExpEClass = createEClass(OBJECT_EXP);
createEReference(objectExpEClass, OBJECT_EXP__BODY);
createEReference(objectExpEClass, OBJECT_EXP__REFERRED_OBJECT);
operationBodyEClass = createEClass(OPERATION_BODY);
createEReference(operationBodyEClass, OPERATION_BODY__CONTENT);
createEReference(operationBodyEClass, OPERATION_BODY__OPERATION);
createEReference(operationBodyEClass, OPERATION_BODY__VARIABLE);
operationalTransformationEClass = createEClass(OPERATIONAL_TRANSFORMATION);
createEReference(operationalTransformationEClass, OPERATIONAL_TRANSFORMATION__INTERMEDIATE_CLASS);
createEReference(operationalTransformationEClass, OPERATIONAL_TRANSFORMATION__INTERMEDIATE_PROPERTY);
createEReference(operationalTransformationEClass, OPERATIONAL_TRANSFORMATION__MODEL_PARAMETER);
resolveExpEClass = createEClass(RESOLVE_EXP);
createEReference(resolveExpEClass, RESOLVE_EXP__CONDITION);
createEAttribute(resolveExpEClass, RESOLVE_EXP__IS_DEFERRED);
createEAttribute(resolveExpEClass, RESOLVE_EXP__IS_INVERSE);
createEAttribute(resolveExpEClass, RESOLVE_EXP__ONE);
createEReference(resolveExpEClass, RESOLVE_EXP__TARGET);
resolveInExpEClass = createEClass(RESOLVE_IN_EXP);
createEReference(resolveInExpEClass, RESOLVE_IN_EXP__IN_MAPPING);
varParameterEClass = createEClass(VAR_PARAMETER);
createEReference(varParameterEClass, VAR_PARAMETER__CTX_OWNER);
createEAttribute(varParameterEClass, VAR_PARAMETER__KIND);
createEReference(varParameterEClass, VAR_PARAMETER__RES_OWNER);
visitableASTNodeEClass = createEClass(VISITABLE_AST_NODE);
// Create enums
directionKindEEnum = createEEnum(DIRECTION_KIND);
importKindEEnum = createEEnum(IMPORT_KIND);
}
/**
* <!-- 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
UtilitiesPackage theUtilitiesPackage = (UtilitiesPackage)EPackage.Registry.INSTANCE.getEPackage(UtilitiesPackage.eNS_URI);
EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
org.eclipse.ocl.ecore.EcorePackage theEcorePackage_1 = (org.eclipse.ocl.ecore.EcorePackage)EPackage.Registry.INSTANCE.getEPackage(org.eclipse.ocl.ecore.EcorePackage.eNS_URI);
ImperativeOCLPackage theImperativeOCLPackage = (ImperativeOCLPackage)EPackage.Registry.INSTANCE.getEPackage(ImperativeOCLPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
constructorEClass.getESuperTypes().add(this.getImperativeOperation());
constructorBodyEClass.getESuperTypes().add(this.getOperationBody());
contextualPropertyEClass.getESuperTypes().add(theEcorePackage.getEStructuralFeature());
contextualPropertyEClass.getESuperTypes().add(this.getVisitableASTNode());
entryOperationEClass.getESuperTypes().add(this.getImperativeOperation());
helperEClass.getESuperTypes().add(this.getImperativeOperation());
imperativeCallExpEClass.getESuperTypes().add(theEcorePackage_1.getOperationCallExp());
imperativeCallExpEClass.getESuperTypes().add(theImperativeOCLPackage.getImperativeExpression());
imperativeOperationEClass.getESuperTypes().add(theEcorePackage.getEOperation());
imperativeOperationEClass.getESuperTypes().add(this.getVisitableASTNode());
libraryEClass.getESuperTypes().add(this.getModule());
mappingBodyEClass.getESuperTypes().add(this.getOperationBody());
mappingCallExpEClass.getESuperTypes().add(this.getImperativeCallExp());
mappingOperationEClass.getESuperTypes().add(this.getImperativeOperation());
mappingParameterEClass.getESuperTypes().add(this.getVarParameter());
modelParameterEClass.getESuperTypes().add(this.getVarParameter());
modelTypeEClass.getESuperTypes().add(theEcorePackage.getEClass());
modelTypeEClass.getESuperTypes().add(this.getVisitableASTNode());
moduleEClass.getESuperTypes().add(theEcorePackage.getEClass());
moduleEClass.getESuperTypes().add(theEcorePackage.getEPackage());
moduleEClass.getESuperTypes().add(this.getVisitableASTNode());
moduleImportEClass.getESuperTypes().add(this.getVisitableASTNode());
moduleImportEClass.getESuperTypes().add(theEcorePackage.getEModelElement());
objectExpEClass.getESuperTypes().add(theImperativeOCLPackage.getInstantiationExp());
operationBodyEClass.getESuperTypes().add(this.getVisitableASTNode());
operationBodyEClass.getESuperTypes().add(theEcorePackage.getEModelElement());
operationalTransformationEClass.getESuperTypes().add(this.getModule());
resolveExpEClass.getESuperTypes().add(theEcorePackage_1.getCallExp());
resolveInExpEClass.getESuperTypes().add(this.getResolveExp());
varParameterEClass.getESuperTypes().add(theEcorePackage_1.getVariable());
varParameterEClass.getESuperTypes().add(theEcorePackage.getEParameter());
visitableASTNodeEClass.getESuperTypes().add(theUtilitiesPackage.getVisitable());
visitableASTNodeEClass.getESuperTypes().add(theUtilitiesPackage.getASTNode());
// Initialize classes and features; add operations and parameters
initEClass(constructorEClass, Constructor.class, "Constructor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
EOperation op = addEOperation(constructorEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
ETypeParameter t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
ETypeParameter t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
EGenericType g1 = createEGenericType(theUtilitiesPackage.getVisitor());
EGenericType g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(constructorBodyEClass, ConstructorBody.class, "ConstructorBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
op = addEOperation(constructorBodyEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(contextualPropertyEClass, ContextualProperty.class, "ContextualProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getContextualProperty_Context(), theEcorePackage.getEClass(), null, "context", null, 1, 1, ContextualProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getContextualProperty_InitExpression(), theEcorePackage_1.getOCLExpression(), null, "initExpression", null, 0, 1, ContextualProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getContextualProperty_Overridden(), theEcorePackage.getEStructuralFeature(), null, "overridden", null, 0, 1, ContextualProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(contextualPropertyEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(entryOperationEClass, EntryOperation.class, "EntryOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
op = addEOperation(entryOperationEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(helperEClass, Helper.class, "Helper", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getHelper_IsQuery(), theEcorePackage.getEBoolean(), "isQuery", null, 0, 1, Helper.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(helperEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(imperativeCallExpEClass, ImperativeCallExp.class, "ImperativeCallExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getImperativeCallExp_IsVirtual(), theEcorePackage.getEBoolean(), "isVirtual", "true", 0, 1, ImperativeCallExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEClass(imperativeOperationEClass, ImperativeOperation.class, "ImperativeOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getImperativeOperation_Body(), this.getOperationBody(), this.getOperationBody_Operation(), "body", null, 0, 1, ImperativeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getImperativeOperation_Context(), this.getVarParameter(), this.getVarParameter_CtxOwner(), "context", null, 0, 1, ImperativeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getImperativeOperation_IsBlackbox(), theEcorePackage.getEBoolean(), "isBlackbox", null, 0, 1, ImperativeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getImperativeOperation_Overridden(), this.getImperativeOperation(), null, "overridden", null, 0, 1, ImperativeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getImperativeOperation_Result(), this.getVarParameter(), this.getVarParameter_ResOwner(), "result", null, 0, -1, ImperativeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(imperativeOperationEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(libraryEClass, Library.class, "Library", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
op = addEOperation(libraryEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(mappingBodyEClass, MappingBody.class, "MappingBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getMappingBody_EndSection(), theEcorePackage_1.getOCLExpression(), null, "endSection", null, 0, -1, MappingBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getMappingBody_InitSection(), theEcorePackage_1.getOCLExpression(), null, "initSection", null, 0, -1, MappingBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(mappingBodyEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(mappingCallExpEClass, MappingCallExp.class, "MappingCallExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getMappingCallExp_IsStrict(), theEcorePackage.getEBoolean(), "isStrict", null, 0, 1, MappingCallExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(mappingCallExpEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(mappingOperationEClass, MappingOperation.class, "MappingOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getMappingOperation_Disjunct(), this.getMappingOperation(), null, "disjunct", null, 0, -1, MappingOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getMappingOperation_Inherited(), this.getMappingOperation(), null, "inherited", null, 0, -1, MappingOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getMappingOperation_Merged(), this.getMappingOperation(), null, "merged", null, 0, -1, MappingOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getMappingOperation_When(), theEcorePackage_1.getOCLExpression(), null, "when", null, 0, -1, MappingOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getMappingOperation_Where(), theEcorePackage_1.getOCLExpression(), null, "where", null, 0, 1, MappingOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(mappingOperationEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(mappingParameterEClass, MappingParameter.class, "MappingParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getMappingParameter_Extent(), this.getModelParameter(), null, "extent", null, 0, 1, MappingParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEClass(modelParameterEClass, ModelParameter.class, "ModelParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEClass(modelTypeEClass, ModelType.class, "ModelType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getModelType_AdditionalCondition(), theEcorePackage_1.getOCLExpression(), null, "additionalCondition", null, 0, -1, ModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getModelType_ConformanceKind(), theEcorePackage.getEString(), "conformanceKind", null, 0, 1, ModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getModelType_Metamodel(), theEcorePackage.getEPackage(), null, "metamodel", null, 1, -1, ModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(modelTypeEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(moduleEClass, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, "Module", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getModule_ConfigProperty(), theEcorePackage.getEStructuralFeature(), null, "configProperty", null, 0, -1, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getModule_Entry(), this.getEntryOperation(), null, "entry", null, 0, 1, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getModule_IsBlackbox(), theEcorePackage.getEBoolean(), "isBlackbox", null, 0, 1, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getModule_ModuleImport(), this.getModuleImport(), this.getModuleImport_Module(), "moduleImport", null, 0, -1, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getModule_OwnedTag(), theEcorePackage.getEAnnotation(), null, "ownedTag", null, 0, -1, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getModule_OwnedVariable(), theEcorePackage_1.getVariable(), null, "ownedVariable", null, 0, -1, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getModule_UsedModelType(), this.getModelType(), null, "usedModelType", null, 0, -1, org.eclipse.m2m.internal.qvt.oml.expressions.Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(moduleEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(moduleImportEClass, ModuleImport.class, "ModuleImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getModuleImport_Binding(), this.getModelType(), null, "binding", null, 0, -1, ModuleImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getModuleImport_ImportedModule(), this.getModule(), null, "importedModule", null, 1, 1, ModuleImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getModuleImport_Kind(), this.getImportKind(), "kind", null, 0, 1, ModuleImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getModuleImport_Module(), this.getModule(), this.getModule_ModuleImport(), "module", null, 0, 1, ModuleImport.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(moduleImportEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(objectExpEClass, ObjectExp.class, "ObjectExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getObjectExp_Body(), this.getConstructorBody(), null, "body", null, 0, 1, ObjectExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getObjectExp_ReferredObject(), theEcorePackage_1.getVariable(), null, "referredObject", null, 1, 1, ObjectExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(objectExpEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(operationBodyEClass, OperationBody.class, "OperationBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getOperationBody_Content(), theEcorePackage_1.getOCLExpression(), null, "content", null, 0, -1, OperationBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getOperationBody_Operation(), this.getImperativeOperation(), this.getImperativeOperation_Body(), "operation", null, 0, 1, OperationBody.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getOperationBody_Variable(), theEcorePackage_1.getVariable(), null, "variable", null, 0, -1, OperationBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(operationBodyEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(operationalTransformationEClass, OperationalTransformation.class, "OperationalTransformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getOperationalTransformation_IntermediateClass(), theEcorePackage.getEClass(), null, "intermediateClass", null, 0, -1, OperationalTransformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getOperationalTransformation_IntermediateProperty(), theEcorePackage.getEStructuralFeature(), null, "intermediateProperty", null, 0, -1, OperationalTransformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getOperationalTransformation_ModelParameter(), this.getModelParameter(), null, "modelParameter", null, 0, -1, OperationalTransformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEClass(resolveExpEClass, ResolveExp.class, "ResolveExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getResolveExp_Condition(), theEcorePackage_1.getOCLExpression(), null, "condition", null, 0, 1, ResolveExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getResolveExp_IsDeferred(), theEcorePackage.getEBoolean(), "isDeferred", null, 1, 1, ResolveExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getResolveExp_IsInverse(), theEcorePackage.getEBoolean(), "isInverse", null, 1, 1, ResolveExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getResolveExp_One(), theEcorePackage.getEBoolean(), "one", null, 1, 1, ResolveExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getResolveExp_Target(), theEcorePackage_1.getVariable(), null, "target", null, 0, 1, ResolveExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(resolveExpEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(resolveInExpEClass, ResolveInExp.class, "ResolveInExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getResolveInExp_InMapping(), this.getMappingOperation(), null, "inMapping", null, 0, 1, ResolveInExp.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(resolveInExpEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(varParameterEClass, VarParameter.class, "VarParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getVarParameter_CtxOwner(), this.getImperativeOperation(), this.getImperativeOperation_Context(), "ctxOwner", null, 0, 1, VarParameter.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getVarParameter_Kind(), this.getDirectionKind(), "kind", null, 0, 1, VarParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getVarParameter_ResOwner(), this.getImperativeOperation(), this.getImperativeOperation_Result(), "resOwner", null, 0, 1, VarParameter.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(varParameterEClass, null, "accept", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
t1 = addETypeParameter(op, "T"); //$NON-NLS-1$
t2 = addETypeParameter(op, "U"); //$NON-NLS-1$
g1 = createEGenericType(theUtilitiesPackage.getVisitor());
g2 = createEGenericType(t1);
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
t2.getEBounds().add(g1);
g1 = createEGenericType(t2);
addEParameter(op, g1, "v", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(t1);
initEOperation(op, g1);
initEClass(visitableASTNodeEClass, VisitableASTNode.class, "VisitableASTNode", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
// Initialize enums and add enum literals
initEEnum(directionKindEEnum, DirectionKind.class, "DirectionKind"); //$NON-NLS-1$
addEEnumLiteral(directionKindEEnum, DirectionKind.IN);
addEEnumLiteral(directionKindEEnum, DirectionKind.INOUT);
addEEnumLiteral(directionKindEEnum, DirectionKind.OUT);
initEEnum(importKindEEnum, ImportKind.class, "ImportKind"); //$NON-NLS-1$
addEEnumLiteral(importKindEEnum, ImportKind.EXTENSION);
addEEnumLiteral(importKindEEnum, ImportKind.ACCESS);
// Create resource
createResource(eNS_URI);
// Create annotations
// http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName
createEmofAnnotations();
}
/**
* Initializes the annotations for <b>http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void createEmofAnnotations() {
String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"; //$NON-NLS-1$
addAnnotation
(getImperativeOperation_Overridden(),
source,
new String[] {
"body", "overriding" //$NON-NLS-1$ //$NON-NLS-2$
});
addAnnotation
(getMappingOperation_Where(),
source,
new String[] {
"body", "whereOwner" //$NON-NLS-1$ //$NON-NLS-2$
});
addAnnotation
(getModule_OwnedTag(),
source,
new String[] {
"body", "owner" //$NON-NLS-1$ //$NON-NLS-2$
});
}
} //ExpressionsPackageImpl