blob: 5980e74cdb0a969833b19704758a8bf44f54319b [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="qvtoperational" nsURI="http://www.eclipse.org/qvt/1.0.0/Operational"
nsPrefix="qvtoperational">
<eClassifiers xsi:type="ecore:EClass" name="Dummy">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This dummy class ensures that GenModel generates the otherwise empty root EPackage"/>
</eAnnotations>
</eClassifiers>
<eSubpackages name="expressions" nsURI="http://www.eclipse.org/qvt/1.0.0/Operational/Expressions"
nsPrefix="qvtoperational.expr">
<eClassifiers xsi:type="ecore:EClass" name="Constructor" eSuperTypes="#//expressions/ImperativeOperation">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitConstructor(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/Constructor/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/Constructor/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/Constructor/accept/U"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstructorBody" eSuperTypes="#//expressions/OperationBody">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitConstructorBody(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ConstructorBody/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ConstructorBody/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ConstructorBody/accept/U"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ContextualProperty" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature #//expressions/VisitableASTNode">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitContextualProperty(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ContextualProperty/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ContextualProperty/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ContextualProperty/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="overridden" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="DirectionKind">
<eLiterals name="in"/>
<eLiterals name="inout" value="1"/>
<eLiterals name="out" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EntryOperation" eSuperTypes="#//expressions/ImperativeOperation">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitEntryOperation(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/EntryOperation/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/EntryOperation/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/EntryOperation/accept/U"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Helper" eSuperTypes="#//expressions/ImperativeOperation">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitHelper(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/Helper/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/Helper/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/Helper/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isQuery" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImperativeCallExp" eSuperTypes="platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OperationCallExp platform:/plugin/org.eclipse.m2m.qvt.oml.ecore.imperativeocl/model/ImperativeOCL.ecore#//ImperativeExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isVirtual" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"
defaultValueLiteral="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImperativeOperation" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation #//expressions/VisitableASTNode">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitImperativeOperation(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ImperativeOperation/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ImperativeOperation/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ImperativeOperation/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//expressions/OperationBody"
containment="true" eOpposite="#//expressions/OperationBody/operation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="context" eType="#//expressions/VarParameter"
containment="true" eOpposite="#//expressions/VarParameter/ctxOwner"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBlackbox" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="overridden" eType="#//expressions/ImperativeOperation">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="overriding"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"
eType="#//expressions/VarParameter" containment="true" eOpposite="#//expressions/VarParameter/resOwner"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ImportKind">
<eLiterals name="extension"/>
<eLiterals name="access" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//expressions/Module">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitLibrary(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/Library/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/Library/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/Library/accept/U"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingBody" eSuperTypes="#//expressions/OperationBody">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitMappingBody(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/MappingBody/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/MappingBody/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/MappingBody/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="endSection" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initSection" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingCallExp" eSuperTypes="#//expressions/ImperativeCallExp">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitMappingCallExp(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/MappingCallExp/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/MappingCallExp/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/MappingCallExp/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isStrict" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingOperation" eSuperTypes="#//expressions/ImperativeOperation">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitMappingOperation(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/MappingOperation/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/MappingOperation/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/MappingOperation/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="disjunct" upperBound="-1"
eType="#//expressions/MappingOperation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inherited" upperBound="-1"
eType="#//expressions/MappingOperation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="merged" upperBound="-1"
eType="#//expressions/MappingOperation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="when" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="where" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="whereOwner"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappingParameter" eSuperTypes="#//expressions/VarParameter">
<eStructuralFeatures xsi:type="ecore:EReference" name="extent" eType="#//expressions/ModelParameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelParameter" eSuperTypes="#//expressions/VarParameter"/>
<eClassifiers xsi:type="ecore:EClass" name="ModelType" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass #//expressions/VisitableASTNode">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitModelType(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ModelType/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ModelType/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ModelType/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="additionalCondition"
upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="conformanceKind" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" lowerBound="1"
upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Module" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage #//expressions/VisitableASTNode">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitModule(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/Module/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/Module/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/Module/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="configProperty" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="entry" eType="#//expressions/EntryOperation"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBlackbox" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"
unsettable="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="moduleImport" upperBound="-1"
eType="#//expressions/ModuleImport" containment="true" eOpposite="#//expressions/ModuleImport/module"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTag" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation"
containment="true">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="owner"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedVariable" ordered="false"
upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="usedModelType" upperBound="-1"
eType="#//expressions/ModelType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleImport" eSuperTypes="#//expressions/VisitableASTNode platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitModuleImport(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ModuleImport/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ModuleImport/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ModuleImport/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="binding" upperBound="-1"
eType="#//expressions/ModelType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="importedModule" lowerBound="1"
eType="#//expressions/Module"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//expressions/ImportKind"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="module" eType="#//expressions/Module"
transient="true" eOpposite="#//expressions/Module/moduleImport"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectExp" eSuperTypes="platform:/plugin/org.eclipse.m2m.qvt.oml.ecore.imperativeocl/model/ImperativeOCL.ecore#//InstantiationExp">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitObjectExp(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ObjectExp/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ObjectExp/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ObjectExp/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//expressions/ConstructorBody"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredObject" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OperationBody" eSuperTypes="#//expressions/VisitableASTNode platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitOperationBody(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/OperationBody/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/OperationBody/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/OperationBody/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="#//expressions/ImperativeOperation"
transient="true" eOpposite="#//expressions/ImperativeOperation/body"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OperationalTransformation" eSuperTypes="#//expressions/Module">
<eStructuralFeatures xsi:type="ecore:EReference" name="intermediateClass" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="intermediateProperty"
upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelParameter" upperBound="-1"
eType="#//expressions/ModelParameter" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResolveExp" eSuperTypes="platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/CallExp">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitResolveExp(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ResolveExp/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ResolveExp/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ResolveExp/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeferred" lowerBound="1"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isInverse" lowerBound="1"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="one" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResolveInExp" eSuperTypes="#//expressions/ResolveExp">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitResolveInExp(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/ResolveInExp/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/ResolveInExp/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/ResolveInExp/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="inMapping" eType="#//expressions/MappingOperation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VarParameter" eSuperTypes="platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter">
<eOperations name="accept">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if(v instanceof org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) {&#xD;&#xA; @SuppressWarnings(&quot;unchecked&quot;) &#x9;&#x9;&#xD;&#xA; org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor&lt;T> visitorExt = (org.eclipse.m2m.internal.qvt.oml.expressions.util.QVTOperationalVisitor) v; &#x9;&#xD;&#xA; return visitorExt.visitVarParameter(this);&#xD;&#xA;}&#xD;&#xA;return org.eclipse.m2m.internal.qvt.oml.expressions.util.ForeignVisitorDefaultValue.getDefaultValueForVisitor(v);"/>
</eAnnotations>
<eGenericType eTypeParameter="#//expressions/VarParameter/accept/T"/>
<eTypeParameters name="T"/>
<eTypeParameters name="U">
<eBounds eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitor">
<eTypeArguments eTypeParameter="#//expressions/VarParameter/accept/T"/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
<eTypeArguments/>
</eBounds>
</eTypeParameters>
<eParameters name="v">
<eGenericType eTypeParameter="#//expressions/VarParameter/accept/U"/>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ctxOwner" eType="#//expressions/ImperativeOperation"
transient="true" eOpposite="#//expressions/ImperativeOperation/context"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//expressions/DirectionKind"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="resOwner" eType="#//expressions/ImperativeOperation"
transient="true" eOpposite="#//expressions/ImperativeOperation/result"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VisitableASTNode" abstract="true"
interface="true" eSuperTypes="platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/Visitable platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/ASTNode"/>
</eSubpackages>
</ecore:EPackage>