blob: b50a5f3947a24d175b23c90293066d75d5990709 [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="essentialOCLCST"
nsURI="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST" nsPrefix="essentialOCLCST">
<eClassifiers xsi:type="ecore:EClass" name="BinaryOperatorCS" eSuperTypes="#//OperatorCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="argument" lowerBound="1"
eType="#//ExpCS" transient="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExpCS" eSuperTypes="#//PrimitiveLiteralExpCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralExpCS" eSuperTypes="#//LiteralExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" eType="#//CollectionTypeCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParts" upperBound="-1"
eType="#//CollectionLiteralPartCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralPartCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//MonikeredElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="expressionCS" eType="#//ExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="lastExpressionCS" eType="#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionTypeCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedRefCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedRefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ContextCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//RootCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedExpression" eType="#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DecoratedNamedExpCS" abstract="true"
eSuperTypes="#//NamedExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="namedExp" eType="#//NamedExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExpCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//MonikeredElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//OperatorCS"
transient="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExpSpecificationCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//SpecificationCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedExpression" eType="#//ExpCS"
containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IfExpCS" eSuperTypes="#//ExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//ExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="thenExpression" eType="#//ExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="elseExpression" eType="#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IndexExpCS" eSuperTypes="#//DecoratedNamedExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="firstIndexes" lowerBound="1"
upperBound="-1" eType="#//ExpCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="secondIndexes" upperBound="-1"
eType="#//ExpCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InfixExpCS" eSuperTypes="#//ExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedExpression" lowerBound="2"
upperBound="-1" eType="#//ExpCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperator" lowerBound="1"
upperBound="-1" eType="#//BinaryOperatorCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InvalidLiteralExpCS" eSuperTypes="#//PrimitiveLiteralExpCS"/>
<eClassifiers xsi:type="ecore:EClass" name="LetExpCS" eSuperTypes="#//ExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" upperBound="-1"
eType="#//LetVariableCS" containment="true" eOpposite="#//LetVariableCS/letExpression"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="in" eType="#//ExpCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LetVariableCS" eSuperTypes="#//VariableCS #//ExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="letExpression" eType="#//LetExpCS"
eOpposite="#//LetExpCS/variable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LiteralExpCS" eSuperTypes="#//ExpCS"/>
<eClassifiers xsi:type="ecore:EClass" name="NameExpCS" eSuperTypes="#//SimpleNamedExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="namespace" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/pivot.ecore#//Namespace"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/pivot.ecore#//NamedElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedExpCS" abstract="true" interface="true"
eSuperTypes="#//ExpCS">
<eOperations name="getNamedElement" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/pivot.ecore#//NamedElement"/>
<eOperations name="getSimpleNamedExp" eType="#//SimpleNamedExpCS"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NavigatingArgCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ModelElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="navigatingExp" eType="#//NavigatingExpCS"
eOpposite="#//NavigatingExpCS/argument"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="role" eType="#//NavigationRole"
transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="name" eType="#//ExpCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedRefCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="init" eType="#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NavigatingExpCS" eSuperTypes="#//DecoratedNamedExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
eType="#//NavigatingArgCS" containment="true" eOpposite="#//NavigatingArgCS/navigatingExp"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NavigationOperatorCS" eSuperTypes="#//BinaryOperatorCS"/>
<eClassifiers xsi:type="ecore:EClass" name="NestedExpCS" eSuperTypes="#//ExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NullLiteralExpCS" eSuperTypes="#//PrimitiveLiteralExpCS"/>
<eClassifiers xsi:type="ecore:EClass" name="NumberLiteralExpCS" eSuperTypes="#//PrimitiveLiteralExpCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//BigNumber"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OperatorCS" abstract="true" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS #//ExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
eType="#//ExpCS" transient="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrefixExpCS" eSuperTypes="#//ExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperator" upperBound="-1"
eType="#//UnaryOperatorCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedExpression" eType="#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveLiteralExpCS" eSuperTypes="#//LiteralExpCS"/>
<eClassifiers xsi:type="ecore:EClass" name="SelfExpCS" eSuperTypes="#//ExpCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SimpleNamedExpCS" abstract="true" interface="true"
eSuperTypes="#//NamedExpCS"/>
<eClassifiers xsi:type="ecore:EClass" name="StringLiteralExpCS" eSuperTypes="#//PrimitiveLiteralExpCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TupleLiteralExpCS" eSuperTypes="#//LiteralExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParts" upperBound="-1"
eType="#//TupleLiteralPartCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TupleLiteralPartCS" eSuperTypes="#//VariableCS"/>
<eClassifiers xsi:type="ecore:EClass" name="TypeLiteralExpCS" eSuperTypes="#//LiteralExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedRefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeNameExpCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedRefCS #//SimpleNamedExpCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="namespace" upperBound="-1"
eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/pivot.ecore#//Namespace"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/pivot.ecore#//Type"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnaryOperatorCS" eSuperTypes="#//OperatorCS"/>
<eClassifiers xsi:type="ecore:EClass" name="UnlimitedNaturalLiteralExpCS" eSuperTypes="#//PrimitiveLiteralExpCS"/>
<eClassifiers xsi:type="ecore:EClass" name="VariableCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedRefCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" eType="#//ExpCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="BigNumber" instanceClassName="java.lang.Number"/>
<eClassifiers xsi:type="ecore:EEnum" name="NavigationRole">
<eLiterals name="ITERATOR"/>
<eLiterals name="ACCUMULATOR"/>
<eLiterals name="EXPRESSION"/>
</eClassifiers>
</ecore:EPackage>