blob: aadea7f2df43379b4156dbea281fb180a86fc23a [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="mtl"
nsURI="http://www.eclipse.org/acceleo/mtl/3.0" nsPrefix="mtl">
<eClassifiers xsi:type="ecore:EClass" name="Module" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage #//DocumentedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="input" lowerBound="1" upperBound="-1"
eType="#//TypedModel" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="extends" upperBound="-1"
eType="#//Module"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
eType="#//Module"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedModuleElement" lowerBound="1"
upperBound="-1" eType="#//ModuleElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startHeaderPosition" lowerBound="1"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endHeaderPosition" lowerBound="1"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleElement" abstract="true" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/ASTNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" lowerBound="1"
eType="#//VisibilityKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
<eLiterals name="Private"/>
<eLiterals name="Protected" value="1"/>
<eLiterals name="Public" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateExpression" eSuperTypes="platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"/>
<eClassifiers xsi:type="ecore:EClass" name="Block" eSuperTypes="#//TemplateExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="init" eType="#//InitSection"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="body" 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="InitSection" eSuperTypes="platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/ASTNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" lowerBound="1"
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="Template" eSuperTypes="#//Block #//ModuleElement #//DocumentedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="overrides" upperBound="-1"
eType="#//Template"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="main" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="post" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateInvocation" eSuperTypes="#//TemplateExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="definition" lowerBound="1"
eType="#//Template"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="before" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="after" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="each" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="super" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"
defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Query" eSuperTypes="#//ModuleElement #//DocumentedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QueryInvocation" eSuperTypes="#//TemplateExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="definition" lowerBound="1"
eType="#//Query"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="argument" 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="ProtectedAreaBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="marker" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ForBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="loopVariable" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="iterSet" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="before" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="each" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="after" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IfBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="ifExpr" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Block"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="elseIf" upperBound="-1"
eType="#//IfBlock" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LetBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="elseLet" upperBound="-1"
eType="#//LetBlock" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Block"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="letVariable" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FileBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="openMode" lowerBound="1"
eType="#//OpenModeKind"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="fileUrl" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="uniqId" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="charset" eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TraceBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="modelElement" lowerBound="1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Macro" eSuperTypes="#//Block #//ModuleElement #//DocumentedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MacroInvocation" eSuperTypes="#//TemplateExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="definition" lowerBound="1"
eType="#//Macro"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
eType="ecore:EClass platform:/plugin/org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OpenModeKind">
<eLiterals name="Append"/>
<eLiterals name="OverWrite" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="takesTypesFrom" lowerBound="1"
upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//ModuleElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//CommentBody"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Documentation" eSuperTypes="#//Comment">
<eStructuralFeatures xsi:type="ecore:EReference" name="documentedElement" eType="#//DocumentedElement"
eOpposite="#//DocumentedElement/documentation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DocumentedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//Documentation"
containment="true" eOpposite="#//Documentation/documentedElement"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecated" lowerBound="1"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"
defaultValueLiteral=""/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CommentBody">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startPosition" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endPosition" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleDocumentation" eSuperTypes="#//Documentation">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="author" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="since" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleElementDocumentation" eSuperTypes="#//Documentation">
<eStructuralFeatures xsi:type="ecore:EReference" name="parametersDocumentation"
upperBound="-1" eType="#//ParameterDocumentation" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterDocumentation" eSuperTypes="#//Comment"/>
</ecore:EPackage>