blob: cec50274057bbcf9b61744fdde59d2b754ccad8f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="qvtoperationalcs" nsURI="http://www.eclipse.org/qvt/pivot/1.0/QVTOperationalCS"
nsPrefix="qvtoperationalcs">
<eAnnotations source="http://www.eclipse.org/OCL/Import">
<details key="baseCST" value="/resource/org.eclipse.ocl.xtext.base/model/BaseCS.ecore#/"/>
<details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore#/"/>
<details key="essentialOCLCST" value="/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#/"/>
<details key="imperativeocl" value="/resource/org.eclipse.qvto.examples.pivot.imperativeocl/model/ImperativeOCL.ecore#ImperativeOCL"/>
<details key="imperativeoclcs" value="/resource/org.eclipse.qvto.examples.xtext.imperativeocl/model/ImperativeOCLCS.ecore#/"/>
<details key="qvtoperational" value="/resource/org.eclipse.qvto.examples.pivot.qvtoperational/model/QVTOperational.ecore#QVTOperational"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EEnum" name="ClassifierKind">
<eLiterals name="DATATYPE"/>
<eLiterals name="PRIMITIVE" value="1"/>
<eLiterals name="EXCEPTION" value="2"/>
<eLiterals name="CLASS" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="FeatureKey">
<eLiterals name="COMPOSES"/>
<eLiterals name="REFERRENCES" value="1"/>
<eLiterals name="READONLY" value="2"/>
<eLiterals name="DERIVED" value="3"/>
<eLiterals name="STATIC" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="InitOp">
<eLiterals name="EQUALS"/>
<eLiterals name="COLON_EQUALS" value="1"/>
<eLiterals name="COLON_COLON_EQUALS" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="MetamodelKind">
<eLiterals name="METAMODEL"/>
<eLiterals name="PACKAGE" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TopLevelCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//RootPackageCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Model">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="ocl::Package {&#xA;&#x9;&#x9;&#x9;&#x9;nestedPackage = ownedNestedPackage.ast()&#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="import" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="unit" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Type"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QVToClassCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//StructuredClassCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Class">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="ocl::Class {&#xA;&#x9;&#x9;&#x9;&#x9;name = name,&#xA;&#x9;&#x9;&#x9;&#x9;ownedAttribute = ownedProperty.ast(),&#xA;&#x9;&#x9;&#x9;&#x9;ownedOperation = ownedOperation.ast()&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="intermediate" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QVToImportCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="unit" eType="#//UnitCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="importedUnitElement" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="all" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QVToLibraryCS" eSuperTypes="#//MappingModuleCS"/>
<eClassifiers xsi:type="ecore:EClass" name="QVToOperationCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//OperationCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotypes" eType="#//StereotypeQualifierCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OperationParameterDeclarationCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ParameterCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.qvto.examples.pivot.qvtoperational/model/QVTOperational.ecore#QVTOperational.VarParameter">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="qvtoperational::VarParameter {&#xA;&#x9;&#x9;&#x9;&#x9;name = name&#xA;&#x9;&#x9;&#x9;&#x9;--kind = if direction = DirectionKindCS::inout then&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9;&#x9;&#x9;qvtoperational::DirectionKind::inout&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9; else if direction = DirectionKindCS::out then&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9; &#x9;&#x9;qvtoperational::DirectionKind::out&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9; else &#xA;&#x9;&#x9;&#x9;&#x9;--&#x9; &#x9;&#x9;qvtoperational::DirectionKind::_in&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9; endif endif&#xA;&#x9;&#x9;&#x9;&#x9;--initExpression = if (initPart.oclIsUndefined()) then&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9;&#x9;&#x9;&#x9;&#x9;null&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9;&#x9;&#x9;&#x9;&#x9;initPart.expression -- FIXME todo .ast()&#xA;&#x9;&#x9;&#x9;&#x9;--&#x9;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//DirectionKindCS"
unsettable="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initPart" eType="#//InitPartCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OperationSimpleSignatureCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="#//OperationParameterDeclarationCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InitPartCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="initOp" eType="#//InitOp"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MetamodelCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//PackageCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Package">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="ocl::Package {&#xA;&#x9;&#x9;&#x9;&#x9;name = name,&#xA;&#x9;&#x9;&#x9;&#x9;nsPrefix = name,&#x9;-- QVTo spec doesn't provide concrete syntax for nsPrefix&#xA;&#x9;&#x9;&#x9;&#x9;nsURI = name,&#x9;&#x9;-- QVTo spec doesn't provide concrete syntax for nsURI. Build an internal protocol&#xA;&#x9;&#x9;&#x9;&#x9;ownedType = ownedType.ast()&#xA;&#x9;&#x9;&#x9;&#x9;-- type = TODO&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="metamodelKind" eType="#//MetamodelKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveTypeCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//DataTypeCS"/>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierPropertyCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//StructuralFeatureCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Property">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="ocl::Property {&#xA;&#x9;&#x9;&#x9;&#x9;name = name,&#xA;&#x9;&#x9;&#x9;&#x9;isComposite = qualifier->exists(x | x = 'composite')&#xA;&#x9;&#x9;&#x9;&#x9;-- type = TODO&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotypes" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="opposite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StereotypeQualifierCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotype" unique="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TagCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//AnnotationCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathName" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//PathNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExceptionCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ClassCS"/>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierDefCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleNameCS" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="extends" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
eType="#//ClassifierProperty2CS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tags" upperBound="-1" eType="#//TagCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierProperty2CS" eSuperTypes="#//LocalPropertyCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeQualifiers" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="featureKeys" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//MultiplicityDefCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//OppositePropertyCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompleteSignatureCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="simpleSignature" lowerBound="1"
eType="#//SimpleSignatureCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="resultParams" upperBound="-1"
eType="#//ParameterDeclarationCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConfigPropertyCS" eSuperTypes="#//ModulePropertyCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstructorCS" eSuperTypes="#//MappingMethodCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ContextualPropertyCS" eSuperTypes="#//ModulePropertyCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="scopedNameCS" eType="#//ScopedNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="typeCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="oclExpressionCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="DirectionKindCS">
<eLiterals name="in"/>
<eLiterals name="out" value="1"/>
<eLiterals name="inout" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementWithBody" abstract="true" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="bodyStartLocation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="0"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="bodyEndLocation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="0"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImperativeOperationCallExpCS" eSuperTypes="../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//CallExpCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="module" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ImportKindEnum">
<eLiterals name="extension"/>
<eLiterals name="access" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LibraryImportCS" eSuperTypes="#//QVToImportCS"/>
<eClassifiers xsi:type="ecore:EClass" name="LocalPropertyCS" eSuperTypes="#//ModulePropertyCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="oclExpressionCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingBodyCS" eSuperTypes="#//MappingSectionCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="hasPopulationKeyword" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingCallExpCS" eSuperTypes="#//ImperativeOperationCallExpCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="strict" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingOperationCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//OperationCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.qvto.examples.pivot.qvtoperational/model/QVTOperational.ecore#QVTOperational.MappingOperation">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="qvtoperational::MappingOperation {&#xA;&#x9;&#x9;&#x9;&#x9;name = name,&#xA;&#x9;&#x9;&#x9;&#x9;-- ownedParameter = signature.parameter.ast()&#xA;&#x9;&#x9;&#x9;&#x9;ownedParameter = ownedParameter.ast()&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="contextType" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"
eType="#//ParameterDeclarationCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="directionKindCS" eType="#//DirectionKindCS"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingExtension" upperBound="-1"
eType="#//MappingExtensionCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isQuery" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingEndCS" eSuperTypes="#//MappingSectionCS"/>
<eClassifiers xsi:type="ecore:EClass" name="MappingExtensionCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementRefCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//MappingExtensionKindCS"
defaultValueLiteral="disjuncts"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingIdentifiers" lowerBound="1"
upperBound="-1" eType="#//ScopedNameCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="MappingExtensionKindCS">
<eLiterals name="disjuncts" value="1"/>
<eLiterals name="merges" value="2"/>
<eLiterals name="inherits" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingInitCS" eSuperTypes="#//MappingSectionCS"/>
<eClassifiers xsi:type="ecore:EClass" name="MappingMethodCS" abstract="true" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="blackBox" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingDeclarationCS" eType="#//MappingOperationCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingModuleCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="headerCS" lowerBound="1"
eType="#//TransformationCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
eType="#//QVToImportCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="metamodels" upperBound="-1"
eType="#//ModelTypeCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="renamings" upperBound="-1"
eType="#//RenameCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
eType="#//ModulePropertyCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="methods" upperBound="-1"
eType="#//MappingMethodCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="classifierDefCS" upperBound="-1"
eType="#//ClassifierDefCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tags" upperBound="-1" eType="#//TagCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingQueryCS" eSuperTypes="#//MappingMethodCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimpleDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingRuleCS" eSuperTypes="#//MappingMethodCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingBody" eType="#//MappingSectionsCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingSectionCS" abstract="true" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS #//ElementWithBody">
<eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingRuleCS" eType="#//MappingRuleCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingSectionsCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingInitCS" eType="#//MappingInitCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingBodyCS" eType="#//MappingBodyCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mappingEndCS" eType="#//MappingEndCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleKindCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="moduleKind" eType="#//ModuleKindEnum"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ModuleKindEnum">
<eLiterals name="transformation"/>
<eLiterals name="library" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleRefCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathNameCS" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//PathNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//ParameterDeclarationCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelTypeCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ClassCS #//ElementWithBody">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="identifierCS" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="complianceKindCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//StringLiteralExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="packageRefs" lowerBound="1"
upperBound="-1" eType="#//PackageRefCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="whereStatements" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModulePropertyCS" abstract="true" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleNameCS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleUsageCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="importKind" eType="#//ImportKindEnum"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="moduleKindCS" eType="#//ModuleKindCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="moduleRefs" lowerBound="1"
upperBound="-1" eType="#//ModuleRefCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiplicityDefCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//PrimitiveLiteralExpCS"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//PrimitiveLiteralExpCS"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectExpCS" eSuperTypes="../../org.eclipse.qvto.examples.xtext.imperativeocl/model/ImperativeOCLCS.ecore#//ExpressionBlockCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleNameCS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isImplicit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OppositePropertyCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isNavigable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleNameCS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//MultiplicityDefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="QualifierKindCS">
<eLiterals name="abstract" value="1"/>
<eLiterals name="blackbox" value="2"/>
<eLiterals name="static" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterDeclarationCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypedElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//DirectionKindCS"
unsettable="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initPart" eType="#//InitPartCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RenameCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleNameCS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="originalName" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//StringLiteralExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResolveOpArgsExpCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//VariableCS"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PackageRefCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathNameCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//PathNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="uriCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//StringLiteralExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ScopedNameCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeCS" eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SimpleSignatureCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="#//ParameterDeclarationCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TransformationCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//StructuredClassCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.qvto.examples.pivot.qvtoperational/model/QVTOperational.ecore#QVTOperational.OperationalTransformation">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="body" value="qvtoperational::OperationalTransformation {&#xA;&#x9;&#x9;&#x9;&#x9;name = name,&#xA;&#x9;&#x9;&#x9;&#x9;nsPrefix = name,&#xA;&#x9;&#x9;&#x9;&#x9;nsURI = name,&#xA;&#x9;&#x9;&#x9;&#x9;nestedPackage = ownedNestedPackage.ast(),&#xA;&#x9;&#x9;&#x9;&#x9;ownedType = ownedType.ast(),&#xA;&#x9;&#x9;&#x9;&#x9;ownedOperation = ownedOperation.ast()&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="qualifiers" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//StringLiteralExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="pathNameCS" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//PathNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//ParameterDeclarationCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="moduleUsages" upperBound="-1"
eType="#//ModuleUsageCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transformationRefineCS"
eType="#//TransformationRefineCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TransformationRefineCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="moduleRefCS" lowerBound="1"
eType="#//ModuleRefCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleNameCS" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeSpecCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypedRefCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypedRefCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="extentLocation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnitCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="segment" unique="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="topLevelElements" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modules" upperBound="-1"
eType="#//MappingModuleCS" changeable="false" volatile="true" transient="true"
derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelTypes" upperBound="-1"
eType="#//ModelTypeCS" changeable="false" volatile="true" transient="true"
derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
eType="#//QVToImportCS" changeable="false" volatile="true" transient="true"
derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResolveExpCS" eSuperTypes="../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//CallExpCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="one" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isInverse" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeferred" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//VariableCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass ../../org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResolveInExpCS" eSuperTypes="#//ResolveExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="inMappingType" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//TypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="inMappingName" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>