blob: 3ae6dcb68efeb52571b9fe8b2f4d1db9e901ea07 [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="cst"
nsURI="http://www.eclipse.org/acceleo/mtl/cst/3.0" nsPrefix="cst">
<eClassifiers xsi:type="ecore:EClass" name="CSTNode" abstract="true" interface="true">
<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"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Module" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage #//CSTNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="input" lowerBound="1" upperBound="-1"
eType="#//TypedModel" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedModuleElement" lowerBound="1"
upperBound="-1" eType="#//ModuleElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="extends" upperBound="-1"
eType="#//ModuleExtendsValue" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
eType="#//ModuleImportsValue" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//Documentation"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleExtendsValue" eSuperTypes="#//CSTNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModuleImportsValue" eSuperTypes="#//CSTNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedModel" eSuperTypes="#//CSTNode">
<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="ModuleElement" abstract="true" eSuperTypes="#//CSTNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<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="Comment" eSuperTypes="#//ModuleElement #//TemplateExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Template" eSuperTypes="#//Block #//ModuleElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="overrides" upperBound="-1"
eType="#//TemplateOverridesValue" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="#//Variable" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//ModelExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="post" eType="#//ModelExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateOverridesValue" eSuperTypes="#//CSTNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//CSTNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" eType="#//ModelExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateExpression" eSuperTypes="#//CSTNode"/>
<eClassifiers xsi:type="ecore:EClass" name="ModelExpression" eSuperTypes="#//TemplateExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="before" eType="#//ModelExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="each" eType="#//ModelExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="after" eType="#//ModelExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TextExpression" eSuperTypes="#//TemplateExpression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<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="#//TemplateExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InitSection" eSuperTypes="#//CSTNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" lowerBound="1"
upperBound="-1" eType="#//Variable" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProtectedAreaBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="marker" lowerBound="1"
eType="#//ModelExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ForBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="loopVariable" lowerBound="1"
eType="#//Variable" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="iterSet" lowerBound="1"
eType="#//ModelExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="before" eType="#//ModelExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="each" eType="#//ModelExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="after" eType="#//ModelExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//ModelExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IfBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="ifExpr" lowerBound="1"
eType="#//ModelExpression" 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="#//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="#//ModelExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="uniqId" eType="#//ModelExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="charset" eType="#//ModelExpression"
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="TraceBlock" eSuperTypes="#//Block">
<eStructuralFeatures xsi:type="ecore:EReference" name="modelElement" lowerBound="1"
eType="#//ModelExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Macro" eSuperTypes="#//Block #//ModuleElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="#//Variable" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Query" eSuperTypes="#//ModuleElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
eType="#//Variable" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//ModelExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Documentation" eSuperTypes="#//Comment"/>
</ecore:EPackage>