| <?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> |