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