blob: 438cbbb0b886ad863db71c0f586b1a74b92ac842 [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="types" nsURI="http://www.yakindu.org/base/types/2.0.0" nsPrefix="types">
<eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Declaration base.ecore#//DomainElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="member" upperBound="-1"
eType="#//Declaration" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="import" upperBound="-1"
eType="#//Package"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Type" eSuperTypes="#//Declaration">
<eOperations name="getOriginType" eType="#//Type"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1"
eType="#//TypeSpecifier" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Declaration" abstract="true" eSuperTypes="base.ecore#//NamedElement #//AnnotatableElement #//MetaComposite">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true" iD="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//TypedDeclaration #//GenericElement">
<eOperations name="getVarArgIndex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//Parameter" containment="true" eOpposite="#//Parameter/owningOperation"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="variadic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
changeable="false" volatile="true" transient="true" derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//TypedDeclaration">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="const" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="readonly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initialValue" eType="#//Expression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//TypedElement base.ecore#//NamedElement #//AnnotatableElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningOperation" eType="#//Operation"
eOpposite="#//Operation/parameters"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="varArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Type" changeable="false"
volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="typeSpecifier" eType="#//TypeSpecifier"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeSpecifier">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Type"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="typeArguments" upperBound="-1"
eType="#//TypeSpecifier" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Event" eSuperTypes="#//TypedDeclaration">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//Direction"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Direction">
<eLiterals name="LOCAL" literal="local"/>
<eLiterals name="IN" value="1" literal="in"/>
<eLiterals name="OUT" value="2" literal="out"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnumerationType" eSuperTypes="#//ComplexType">
<eStructuralFeatures xsi:type="ecore:EReference" name="enumerator" upperBound="-1"
eType="#//Enumerator" containment="true" eOpposite="#//Enumerator/owningEnumeration"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//Type"/>
<eClassifiers xsi:type="ecore:EClass" name="ComplexType" eSuperTypes="#//Type #//GenericElement">
<eOperations name="getAllFeatures" upperBound="-1" eType="#//Declaration"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="features" upperBound="-1"
eType="#//Declaration" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Enumerator" eSuperTypes="#//TypedDeclaration">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningEnumeration" eType="#//EnumerationType"
eOpposite="#//EnumerationType/enumerator"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="literalValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
changeable="false" volatile="true" transient="true" derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeParameter" eSuperTypes="#//Type">
<eStructuralFeatures xsi:type="ecore:EReference" name="bound" eType="#//Type"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GenericElement" eSuperTypes="base.ecore#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeParameters" upperBound="-1"
eType="#//TypeParameter" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Domain">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="domainID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeAlias" eSuperTypes="#//TypedDeclaration #//Type"/>
<eClassifiers xsi:type="ecore:EClass" name="Annotation">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//AnnotationType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
eType="#//Expression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AnnotatableElement">
<eOperations name="getAnnotationOfType" eType="#//Annotation">
<eParameters name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
eType="#//Annotation" transient="true" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotationInfo" eType="#//AnnotatableElement"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ArrayTypeSpecifier" eSuperTypes="#//TypeSpecifier">
<eOperations name="getElementType" eType="#//Type"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AnnotationType" eSuperTypes="#//Type">
<eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
eType="#//Property" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="targets" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true"/>
<eClassifiers xsi:type="ecore:EClass" name="TypedDeclaration" eSuperTypes="#//Declaration #//TypedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="MetaComposite">
<eStructuralFeatures xsi:type="ecore:EReference" name="metaFeatures" upperBound="-1"
eType="#//Declaration" containment="true"/>
</eClassifiers>
</ecore:EPackage>