blob: bdaedde5b557960a6a4e30b736523d72d01689c8 [file] [log] [blame]
/**
* <copyright>
*
* Copyright (c) 2006, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM - Initial API and implementation
*
* </copyright>
*
* $Id: UtilitiesPackageImpl.java,v 1.12 2010/01/14 12:44:33 ewillink Exp $
*/
package org.eclipse.ocl.utilities.impl;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
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.impl.EPackageImpl;
import org.eclipse.ocl.expressions.ExpressionsPackage;
import org.eclipse.ocl.expressions.impl.ExpressionsPackageImpl;
import org.eclipse.ocl.types.TypesPackage;
import org.eclipse.ocl.types.impl.TypesPackageImpl;
import org.eclipse.ocl.utilities.ASTNode;
import org.eclipse.ocl.utilities.CallingASTNode;
import org.eclipse.ocl.utilities.ExpressionInOCL;
import org.eclipse.ocl.utilities.PredefinedType;
import org.eclipse.ocl.utilities.TypedASTNode;
import org.eclipse.ocl.utilities.TypedElement;
import org.eclipse.ocl.utilities.UtilitiesFactory;
import org.eclipse.ocl.utilities.UtilitiesPackage;
import org.eclipse.ocl.utilities.Visitable;
import org.eclipse.ocl.utilities.Visitor;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class UtilitiesPackageImpl
extends EPackageImpl
implements UtilitiesPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass astNodeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass callingASTNodeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass predefinedTypeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass typedASTNodeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass visitableEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass typedElementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass visitorEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass expressionInOCLEClass = 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.ocl.utilities.UtilitiesPackage#eNS_URI
* @see #init()
* @generated
*/
private UtilitiesPackageImpl() {
super(eNS_URI, UtilitiesFactory.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 UtilitiesPackage#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 UtilitiesPackage init() {
if (isInited)
return (UtilitiesPackage) EPackage.Registry.INSTANCE
.getEPackage(UtilitiesPackage.eNS_URI);
// Obtain or create and register package
UtilitiesPackageImpl theUtilitiesPackage = (UtilitiesPackageImpl) (EPackage.Registry.INSTANCE
.get(eNS_URI) instanceof UtilitiesPackageImpl
? EPackage.Registry.INSTANCE.get(eNS_URI)
: new UtilitiesPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
TypesPackageImpl theTypesPackage = (TypesPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(TypesPackage.eNS_URI) instanceof TypesPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI)
: TypesPackage.eINSTANCE);
ExpressionsPackageImpl theExpressionsPackage = (ExpressionsPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(ExpressionsPackage.eNS_URI) instanceof ExpressionsPackageImpl
? EPackage.Registry.INSTANCE
.getEPackage(ExpressionsPackage.eNS_URI)
: ExpressionsPackage.eINSTANCE);
// Create package meta-data objects
theUtilitiesPackage.createPackageContents();
theTypesPackage.createPackageContents();
theExpressionsPackage.createPackageContents();
// Initialize created meta-data
theUtilitiesPackage.initializePackageContents();
theTypesPackage.initializePackageContents();
theExpressionsPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theUtilitiesPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(UtilitiesPackage.eNS_URI,
theUtilitiesPackage);
return theUtilitiesPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getASTNode() {
return astNodeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getASTNode_StartPosition() {
return (EAttribute) astNodeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getASTNode_EndPosition() {
return (EAttribute) astNodeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getCallingASTNode() {
return callingASTNodeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getCallingASTNode_PropertyStartPosition() {
return (EAttribute) callingASTNodeEClass.getEStructuralFeatures()
.get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getCallingASTNode_PropertyEndPosition() {
return (EAttribute) callingASTNodeEClass.getEStructuralFeatures()
.get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getPredefinedType() {
return predefinedTypeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTypedASTNode() {
return typedASTNodeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypedASTNode_TypeStartPosition() {
return (EAttribute) typedASTNodeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getTypedASTNode_TypeEndPosition() {
return (EAttribute) typedASTNodeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getVisitable() {
return visitableEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTypedElement() {
return typedElementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getVisitor() {
return visitorEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getExpressionInOCL() {
return expressionInOCLEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getExpressionInOCL_BodyExpression() {
return (EReference) expressionInOCLEClass.getEStructuralFeatures().get(
0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getExpressionInOCL_ContextVariable() {
return (EReference) expressionInOCLEClass.getEStructuralFeatures().get(
1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getExpressionInOCL_ResultVariable() {
return (EReference) expressionInOCLEClass.getEStructuralFeatures().get(
2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getExpressionInOCL_ParameterVariable() {
return (EReference) expressionInOCLEClass.getEStructuralFeatures().get(
3);
}
/**
* <!-- begin-user-doc -->
* @since 3.0
* <!-- end-user-doc -->
* @generated
*/
public EReference getExpressionInOCL_GeneratedType() {
return (EReference) expressionInOCLEClass.getEStructuralFeatures().get(
4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public UtilitiesFactory getUtilitiesFactory() {
return (UtilitiesFactory) 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
astNodeEClass = createEClass(AST_NODE);
createEAttribute(astNodeEClass, AST_NODE__START_POSITION);
createEAttribute(astNodeEClass, AST_NODE__END_POSITION);
callingASTNodeEClass = createEClass(CALLING_AST_NODE);
createEAttribute(callingASTNodeEClass,
CALLING_AST_NODE__PROPERTY_START_POSITION);
createEAttribute(callingASTNodeEClass,
CALLING_AST_NODE__PROPERTY_END_POSITION);
typedASTNodeEClass = createEClass(TYPED_AST_NODE);
createEAttribute(typedASTNodeEClass,
TYPED_AST_NODE__TYPE_START_POSITION);
createEAttribute(typedASTNodeEClass, TYPED_AST_NODE__TYPE_END_POSITION);
visitableEClass = createEClass(VISITABLE);
visitorEClass = createEClass(VISITOR);
typedElementEClass = createEClass(TYPED_ELEMENT);
expressionInOCLEClass = createEClass(EXPRESSION_IN_OCL);
createEReference(expressionInOCLEClass,
EXPRESSION_IN_OCL__BODY_EXPRESSION);
createEReference(expressionInOCLEClass,
EXPRESSION_IN_OCL__CONTEXT_VARIABLE);
createEReference(expressionInOCLEClass,
EXPRESSION_IN_OCL__RESULT_VARIABLE);
createEReference(expressionInOCLEClass,
EXPRESSION_IN_OCL__PARAMETER_VARIABLE);
createEReference(expressionInOCLEClass,
EXPRESSION_IN_OCL__GENERATED_TYPE);
predefinedTypeEClass = createEClass(PREDEFINED_TYPE);
}
/**
* <!-- 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.
* <p>
* The generated implementation is extended by adding me as a child of
* the empty root <tt>OCL</tt> package.
* </p>
*/
public void initializePackageContents() {
if (!isInitialized) {
// create my own resource first, before adding me to my parent
// package. Otherwise, I will already be in a resource when
// createResource() is called, and it will not create a new one
initializePackageContentsGen();
ExpressionsPackageImpl.OCL_ROOT_PACKAGE.getESubpackages().add(this);
}
}
/**
* 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 initializePackageContentsGen() {
if (isInitialized)
return;
isInitialized = true;
// Initialize package
setName(eNAME);
setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Obtain other dependent packages
ExpressionsPackage theExpressionsPackage = (ExpressionsPackage) EPackage.Registry.INSTANCE
.getEPackage(ExpressionsPackage.eNS_URI);
// Create type parameters
ETypeParameter visitorEClass_T = addETypeParameter(visitorEClass, "T"); //$NON-NLS-1$
ETypeParameter visitorEClass_C = addETypeParameter(visitorEClass, "C"); //$NON-NLS-1$
ETypeParameter visitorEClass_O = addETypeParameter(visitorEClass, "O"); //$NON-NLS-1$
ETypeParameter visitorEClass_P = addETypeParameter(visitorEClass, "P"); //$NON-NLS-1$
ETypeParameter visitorEClass_EL = addETypeParameter(visitorEClass, "EL"); //$NON-NLS-1$
ETypeParameter visitorEClass_PM = addETypeParameter(visitorEClass, "PM"); //$NON-NLS-1$
ETypeParameter visitorEClass_S = addETypeParameter(visitorEClass, "S"); //$NON-NLS-1$
ETypeParameter visitorEClass_COA = addETypeParameter(visitorEClass,
"COA"); //$NON-NLS-1$
ETypeParameter visitorEClass_SSA = addETypeParameter(visitorEClass,
"SSA"); //$NON-NLS-1$
ETypeParameter visitorEClass_CT = addETypeParameter(visitorEClass, "CT"); //$NON-NLS-1$
ETypeParameter typedElementEClass_C = addETypeParameter(
typedElementEClass, "C"); //$NON-NLS-1$
ETypeParameter expressionInOCLEClass_C = addETypeParameter(
expressionInOCLEClass, "C"); //$NON-NLS-1$
ETypeParameter expressionInOCLEClass_PM = addETypeParameter(
expressionInOCLEClass, "PM"); //$NON-NLS-1$
ETypeParameter predefinedTypeEClass_O = addETypeParameter(
predefinedTypeEClass, "O"); //$NON-NLS-1$
// Set bounds for type parameters
// Add supertypes to classes
callingASTNodeEClass.getESuperTypes().add(this.getASTNode());
typedASTNodeEClass.getESuperTypes().add(this.getASTNode());
expressionInOCLEClass.getESuperTypes().add(this.getVisitable());
// Initialize classes and features; add operations and parameters
initEClass(astNodeEClass, ASTNode.class,
"ASTNode", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(
getASTNode_StartPosition(),
ecorePackage.getEInt(),
"startPosition", "-1", 0, 1, ASTNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEAttribute(
getASTNode_EndPosition(),
ecorePackage.getEInt(),
"endPosition", "-1", 0, 1, ASTNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEClass(
callingASTNodeEClass,
CallingASTNode.class,
"CallingASTNode", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(
getCallingASTNode_PropertyStartPosition(),
ecorePackage.getEInt(),
"propertyStartPosition", "-1", 0, 1, CallingASTNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEAttribute(
getCallingASTNode_PropertyEndPosition(),
ecorePackage.getEInt(),
"propertyEndPosition", "-1", 0, 1, CallingASTNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEClass(
typedASTNodeEClass,
TypedASTNode.class,
"TypedASTNode", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(
getTypedASTNode_TypeStartPosition(),
ecorePackage.getEInt(),
"typeStartPosition", "-1", 0, 1, TypedASTNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEAttribute(
getTypedASTNode_TypeEndPosition(),
ecorePackage.getEInt(),
"typeEndPosition", "-1", 0, 1, TypedASTNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEClass(visitableEClass, Visitable.class,
"Visitable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
EOperation op = addEOperation(visitableEClass, 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(this.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(visitorEClass, Visitor.class,
"Visitor", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
op = addEOperation(visitorEClass, null,
"visitVariableExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getVariableExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_PM);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "variableExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitLetExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getLetExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_PM);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "letExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitIfExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getIfExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "ifExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitTypeExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getTypeExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "typeExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitPropertyCallExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getPropertyCallExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_P);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "callExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitOperationCallExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getOperationCallExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_O);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "callExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitAssociationClassCallExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage
.getAssociationClassCallExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_P);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "callExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitIteratorExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getIteratorExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_PM);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "callExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitIterateExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getIterateExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_PM);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "callExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitUnspecifiedValueExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getUnspecifiedValueExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "unspecExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitIntegerLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getIntegerLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitUnlimitedNaturalLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage
.getUnlimitedNaturalLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitRealLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getRealLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitStringLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getStringLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitBooleanLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getBooleanLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitEnumLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getEnumLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_EL);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitCollectionLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getCollectionLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitCollectionItem", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getCollectionItem());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "item", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitCollectionRange", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getCollectionRange());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "range", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitTupleLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getTupleLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_P);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitTupleLiteralPart", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getTupleLiteralPart());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_P);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "part", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitInvalidLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getInvalidLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitNullLiteralExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getNullLiteralExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "literalExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitStateExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getStateExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_S);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "stateExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitMessageExp", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getMessageExp());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_COA);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_SSA);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "messageExp", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitVariable", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getVariable());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_PM);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "variable", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitExpressionInOCL", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(this.getExpressionInOCL());
g2 = createEGenericType(visitorEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(visitorEClass_PM);
g1.getETypeArguments().add(g2);
addEParameter(op, g1, "expression", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
op = addEOperation(visitorEClass, null,
"visitConstraint", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_CT);
addEParameter(op, g1, "constraint", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(visitorEClass_T);
initEOperation(op, g1);
initEClass(
typedElementEClass,
TypedElement.class,
"TypedElement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
addEOperation(typedElementEClass, ecorePackage.getEString(),
"getName", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(typedElementEClass, null,
"getType", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(typedElementEClass_C);
initEOperation(op, g1);
op = addEOperation(typedElementEClass, null,
"setName", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
addEParameter(op, ecorePackage.getEString(),
"name", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
op = addEOperation(typedElementEClass, null,
"setType", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(typedElementEClass_C);
addEParameter(op, g1, "type", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
initEClass(
expressionInOCLEClass,
ExpressionInOCL.class,
"ExpressionInOCL", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getOCLExpression());
g2 = createEGenericType(expressionInOCLEClass_C);
g1.getETypeArguments().add(g2);
initEReference(
getExpressionInOCL_BodyExpression(),
g1,
null,
"bodyExpression", null, 1, 1, ExpressionInOCL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getVariable());
g2 = createEGenericType(expressionInOCLEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(expressionInOCLEClass_PM);
g1.getETypeArguments().add(g2);
initEReference(
getExpressionInOCL_ContextVariable(),
g1,
null,
"contextVariable", null, 1, 1, ExpressionInOCL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getVariable());
g2 = createEGenericType(expressionInOCLEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(expressionInOCLEClass_PM);
g1.getETypeArguments().add(g2);
initEReference(
getExpressionInOCL_ResultVariable(),
g1,
null,
"resultVariable", null, 0, 1, ExpressionInOCL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(theExpressionsPackage.getVariable());
g2 = createEGenericType(expressionInOCLEClass_C);
g1.getETypeArguments().add(g2);
g2 = createEGenericType(expressionInOCLEClass_PM);
g1.getETypeArguments().add(g2);
initEReference(
getExpressionInOCL_ParameterVariable(),
g1,
null,
"parameterVariable", null, 0, -1, ExpressionInOCL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(expressionInOCLEClass_C);
initEReference(
getExpressionInOCL_GeneratedType(),
g1,
null,
"generatedType", null, 0, -1, ExpressionInOCL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(
predefinedTypeEClass,
PredefinedType.class,
"PredefinedType", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
addEOperation(predefinedTypeEClass, ecorePackage.getEString(),
"getName", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
op = addEOperation(predefinedTypeEClass, null,
"oclOperations", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
g1 = createEGenericType(predefinedTypeEClass_O);
initEOperation(op, g1);
// Create resource
createResource(eNS_URI);
// Create annotations
// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
createExtendedMetaDataAnnotations();
}
/**
* Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void createExtendedMetaDataAnnotations() {
String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
addAnnotation(expressionInOCLEClass, source, new String[]{
"name", "ExpressionInOcl" //$NON-NLS-1$ //$NON-NLS-2$
});
}
} //UtilitiesPackageImpl