diff options
Diffstat (limited to 'extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz')
16 files changed, 4540 insertions, 4605 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl index 0f3f0c16d4c..a200248b23e 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl @@ -1,283 +1,247 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassAttributesDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassAttributesDeclaration" endHeaderPosition="78">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../CppAttribute.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAttributesDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Property)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/6/Set(Property)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassAttributesDeclaration/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassAttributesDeclaration/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </iterator>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassAttributesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAttributesDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppAttributeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Property_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassAttributesDeclaration">
- <details key="start" value="222"/>
- <details key="end" value="431"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassAttributesDeclaration/%">
- <details key="start" value="325"/>
- <details key="end" value="419"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassAttributesDeclaration/%/%">
- <details key="start" value="382"/>
- <details key="end" value="384"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassAttributesDeclaration/%/%.1">
- <details key="start" value="385"/>
- <details key="end" value="410"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassAttributesDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassAttributesDeclaration/%/%.2">
- <details key="start" value="412"/>
- <details key="end" value="413"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassAttributesDeclaration/%/select">
- <details key="start" value="331"/>
- <details key="end" value="379"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassAttributesDeclaration/%/select/%">
- <details key="start" value="331"/>
- <details key="end" value="340"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassAttributesDeclaration/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassAttributesDeclaration/%/select/%.1">
- <details key="start" value="349"/>
- <details key="end" value="378"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassAttributesDeclaration/%/select/%.1/%">
- <details key="start" value="349"/>
- <details key="end" value="359"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassAttributesDeclaration/%/select/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassAttributesDeclaration/%/select/%.1/visibilityFilter">
- <details key="start" value="362"/>
- <details key="end" value="378"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassAttributesDeclaration/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassAttributesDeclaration/class">
- <details key="start" value="269"/>
- <details key="end" value="287"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassAttributesDeclaration/visibilityFilter">
- <details key="start" value="289"/>
- <details key="end" value="322"/>
- <details key="line" value="7"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassAttributesDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassAttributesDeclaration" endHeaderPosition="78"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../CppAttribute.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAttributesDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Property)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/6/Set(Property)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassAttributesDeclaration/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassAttributesDeclaration/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </iterator> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassAttributesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAttributesDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppAttributeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Property_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassAttributesDeclaration"> + <details key="start" value="159"/> + <details key="end" value="368"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassAttributesDeclaration/%"> + <details key="start" value="262"/> + <details key="end" value="356"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassAttributesDeclaration/%/%"> + <details key="start" value="319"/> + <details key="end" value="321"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassAttributesDeclaration/%/%.1"> + <details key="start" value="322"/> + <details key="end" value="347"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassAttributesDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassAttributesDeclaration/%/%.2"> + <details key="start" value="349"/> + <details key="end" value="350"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassAttributesDeclaration/%/select"> + <details key="start" value="268"/> + <details key="end" value="316"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassAttributesDeclaration/%/select/%"> + <details key="start" value="268"/> + <details key="end" value="277"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassAttributesDeclaration/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassAttributesDeclaration/%/select/%.1"> + <details key="start" value="286"/> + <details key="end" value="315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassAttributesDeclaration/%/select/%.1/%"> + <details key="start" value="286"/> + <details key="end" value="296"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassAttributesDeclaration/%/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassAttributesDeclaration/%/select/%.1/visibilityFilter"> + <details key="start" value="299"/> + <details key="end" value="315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassAttributesDeclaration/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassAttributesDeclaration/class"> + <details key="start" value="206"/> + <details key="end" value="224"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassAttributesDeclaration/visibilityFilter"> + <details key="start" value="226"/> + <details key="end" value="259"/> + <details key="line" value="6"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl index b3e0089002a..7ff3bd720e9 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl @@ -1,5 +1,4 @@ [module CppClassAttributesDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl index c3d8931a75b..ffca31cec93 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl @@ -1,398 +1,402 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassFriendDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration" endHeaderPosition="74">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassFriendDeclaration" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="friend class "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="friend" referredVariable="/0/CppClassFriendDeclaration/friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeFriendDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassFriendDeclaration">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/14/Friend">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/14/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/11/Sequence(Classifier)">
- <definition href="../../../utils/GenUtils.emtl#/0/getUsedClassifiers"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassFriendDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassFriendDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeFriendDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeFriendDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getUsedClassifiers">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getUsedClassifiers"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/GenUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Friend">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassFriendDeclaration">
- <details key="start" value="142"/>
- <details key="end" value="258"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassFriendDeclaration/%">
- <details key="start" value="207"/>
- <details key="end" value="220"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassFriendDeclaration/%.1">
- <details key="start" value="221"/>
- <details key="end" value="243"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassFriendDeclaration/%.1/friend">
- <details key="start" value="221"/>
- <details key="end" value="227"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassFriendDeclaration/%.2">
- <details key="start" value="245"/>
- <details key="end" value="246"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassFriendDeclaration/friend">
- <details key="start" value="185"/>
- <details key="end" value="204"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassIncludeFriendDeclaration">
- <details key="start" value="260"/>
- <details key="end" value="495"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassIncludeFriendDeclaration/%">
- <details key="start" value="331"/>
- <details key="end" value="483"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassIncludeFriendDeclaration/%/%">
- <details key="start" value="361"/>
- <details key="end" value="476"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassIncludeFriendDeclaration/%/%/%">
- <details key="start" value="437"/>
- <details key="end" value="439"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1">
- <details key="start" value="440"/>
- <details key="end" value="467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassIncludeFriendDeclaration/%/%/%.2">
- <details key="start" value="469"/>
- <details key="end" value="470"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3">
- <details key="start" value="365"/>
- <details key="end" value="435"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%">
- <details key="start" value="365"/>
- <details key="end" value="393"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/%">
- <details key="start" value="379"/>
- <details key="end" value="392"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1">
- <details key="start" value="398"/>
- <details key="end" value="435"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%">
- <details key="start" value="403"/>
- <details key="end" value="434"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/%">
- <details key="start" value="417"/>
- <details key="end" value="433"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppClassIncludeFriendDeclaration/%/%.1">
- <details key="start" value="337"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppClassIncludeFriendDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppClassIncludeFriendDeclaration/class">
- <details key="start" value="310"/>
- <details key="end" value="328"/>
- <details key="line" value="9"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassFriendDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration" endHeaderPosition="116"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassFriendDeclaration" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="friend class "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:VariableExp" name="friend" referredVariable="/0/CppClassFriendDeclaration/friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeFriendDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassFriendDeclaration"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/14/Friend"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/14/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <iterSet xsi:type="mtl:QueryInvocation" eType="/11/Sequence(Classifier)"> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassFriendDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassFriendDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeFriendDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeFriendDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getUsedClassifiers"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Friend"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassFriendDeclaration"> + <details key="start" value="238"/> + <details key="end" value="357"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassFriendDeclaration/%"> + <details key="start" value="303"/> + <details key="end" value="316"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassFriendDeclaration/%.1"> + <details key="start" value="317"/> + <details key="end" value="342"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassFriendDeclaration/%.1/friend"> + <details key="start" value="317"/> + <details key="end" value="323"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassFriendDeclaration/%.2"> + <details key="start" value="344"/> + <details key="end" value="345"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassFriendDeclaration/friend"> + <details key="start" value="281"/> + <details key="end" value="300"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassIncludeFriendDeclaration"> + <details key="start" value="359"/> + <details key="end" value="594"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassIncludeFriendDeclaration/%"> + <details key="start" value="430"/> + <details key="end" value="582"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassIncludeFriendDeclaration/%/%"> + <details key="start" value="460"/> + <details key="end" value="575"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassIncludeFriendDeclaration/%/%/%"> + <details key="start" value="536"/> + <details key="end" value="538"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1"> + <details key="start" value="539"/> + <details key="end" value="566"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassIncludeFriendDeclaration/%/%/%.2"> + <details key="start" value="568"/> + <details key="end" value="569"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3"> + <details key="start" value="464"/> + <details key="end" value="534"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%"> + <details key="start" value="464"/> + <details key="end" value="492"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/%"> + <details key="start" value="478"/> + <details key="end" value="491"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1"> + <details key="start" value="497"/> + <details key="end" value="534"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%"> + <details key="start" value="502"/> + <details key="end" value="533"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/%"> + <details key="start" value="516"/> + <details key="end" value="532"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppClassIncludeFriendDeclaration/%/%.1"> + <details key="start" value="436"/> + <details key="end" value="456"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppClassIncludeFriendDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppClassIncludeFriendDeclaration/class"> + <details key="start" value="409"/> + <details key="end" value="427"/> + <details key="line" value="10"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl index 8b7b07755d8..943a3f3131f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl @@ -1,9 +1,10 @@ -[module CppClassFriendDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[module CppClassFriendDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [template public CppClassFriendDeclaration(friend : Classifier)] -friend class [friend.qualifiedName()/]; +friend class [friend.cppQualifiedName()/]; [/template] [template public CppClassIncludeFriendDeclaration(class : Classifier)] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl index c67f5d5aa93..24dc2910a08 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl @@ -1,1095 +1,1096 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassIncludeClassDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration" endHeaderPosition="122">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../utils/ClassUtils.emtl#/0"/>
- <imports href="CppClassIncludeDeclaration.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="358" endPosition="367" value=" USED??? "/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeClassDeclarationTemplate" visibility="Public">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/openNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template "/>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CppTemplate.class">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/closeNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOwnerPackageIncludeDeclaration" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/* Owner package header include */
#include <"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h>
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CppRoot">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <parameter name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)">
- <definition href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclarationBody" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)">
- <definition href="../../../utils/GenUtils.emtl#/0/getDependencies"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppOwnerPackageIncludeDeclaration">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </ifExpr>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- <else>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- </else>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludesDeclaration.1/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- </body>
- <loopVariable name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </loopVariable>
- <iterSet xsi:type="ocl.ecore:VariableExp" name="list" eType="/3/Sequence(Classifier)" referredVariable="/0/CppClassAllIncludesDeclaration.1/list"/>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="list" eType="/3/Sequence(Classifier)"/>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassIncludeClassDeclarationTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeClassDeclarationTemplate"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOwnerPackageIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOwnerPackageIncludeDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclarationBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclarationBody"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration.1"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="list" eType="/3/Sequence(Classifier)"/>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="getDependencies">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getDependencies"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/GenUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="includedClassifiers">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/ClassUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppRoot">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="350"/>
- <details key="end" value="369"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassIncludeClassDeclarationTemplate">
- <details key="start" value="370"/>
- <details key="end" value="560"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassIncludeClassDeclarationTemplate/%">
- <details key="start" value="444"/>
- <details key="end" value="452"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassIncludeClassDeclarationTemplate/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassIncludeClassDeclarationTemplate/%.1">
- <details key="start" value="454"/>
- <details key="end" value="455"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassIncludeClassDeclarationTemplate/%.2">
- <details key="start" value="455"/>
- <details key="end" value="515"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%">
- <details key="start" value="501"/>
- <details key="end" value="510"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1">
- <details key="start" value="459"/>
- <details key="end" value="500"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/class">
- <details key="start" value="473"/>
- <details key="end" value="478"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/%">
- <details key="start" value="480"/>
- <details key="end" value="499"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassIncludeClassDeclarationTemplate/%.3">
- <details key="start" value="515"/>
- <details key="end" value="521"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassIncludeClassDeclarationTemplate/%.4">
- <details key="start" value="522"/>
- <details key="end" value="532"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassIncludeClassDeclarationTemplate/%.4/class">
- <details key="start" value="522"/>
- <details key="end" value="527"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassIncludeClassDeclarationTemplate/%.5">
- <details key="start" value="534"/>
- <details key="end" value="536"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassIncludeClassDeclarationTemplate/%.6">
- <details key="start" value="537"/>
- <details key="end" value="546"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassIncludeClassDeclarationTemplate/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassIncludeClassDeclarationTemplate/class">
- <details key="start" value="427"/>
- <details key="end" value="440"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppOwnerPackageIncludeDeclaration">
- <details key="start" value="563"/>
- <details key="end" value="870"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppOwnerPackageIncludeDeclaration/%">
- <details key="start" value="689"/>
- <details key="end" value="857"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppOwnerPackageIncludeDeclaration/%/%">
- <details key="start" value="743"/>
- <details key="end" value="816"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1">
- <details key="start" value="817"/>
- <details key="end" value="830"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppOwnerPackageIncludeDeclaration/%/%.2">
- <details key="start" value="832"/>
- <details key="end" value="837"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3">
- <details key="start" value="838"/>
- <details key="end" value="846"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3/pkg">
- <details key="start" value="838"/>
- <details key="end" value="841"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppOwnerPackageIncludeDeclaration/%/%.4">
- <details key="start" value="848"/>
- <details key="end" value="852"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5">
- <details key="start" value="693"/>
- <details key="end" value="741"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%">
- <details key="start" value="694"/>
- <details key="end" value="707"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/pkg">
- <details key="start" value="695"/>
- <details key="end" value="698"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/%">
- <details key="start" value="702"/>
- <details key="end" value="706"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1">
- <details key="start" value="712"/>
- <details key="end" value="740"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%">
- <details key="start" value="717"/>
- <details key="end" value="739"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/%">
- <details key="start" value="731"/>
- <details key="end" value="738"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <details key="start" value="614"/>
- <details key="end" value="627"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppClassAllIncludesDeclaration">
- <details key="start" value="873"/>
- <details key="end" value="1010"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassAllIncludesDeclaration/%">
- <details key="start" value="943"/>
- <details key="end" value="996"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassAllIncludesDeclaration/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassAllIncludesDeclaration/%/%">
- <details key="start" value="974"/>
- <details key="end" value="995"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassAllIncludesDeclaration/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassAllIncludesDeclaration/class">
- <details key="start" value="921"/>
- <details key="end" value="939"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassAllIncludesDeclarationBody">
- <details key="start" value="1012"/>
- <details key="end" value="1149"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppClassAllIncludesDeclarationBody/%">
- <details key="start" value="1086"/>
- <details key="end" value="1135"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppClassAllIncludesDeclarationBody/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppClassAllIncludesDeclarationBody/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1134"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppClassAllIncludesDeclarationBody/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassAllIncludesDeclarationBody/class">
- <details key="start" value="1064"/>
- <details key="end" value="1082"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassAllIncludesDeclaration.1">
- <details key="start" value="1151"/>
- <details key="end" value="2056"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassAllIncludesDeclaration.1/%">
- <details key="start" value="1250"/>
- <details key="end" value="2044"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassAllIncludesDeclaration.1/%/%">
- <details key="start" value="1450"/>
- <details key="end" value="2037"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassAllIncludesDeclaration.1/%/%/%">
- <details key="start" value="1537"/>
- <details key="end" value="2030"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%">
- <details key="start" value="1810"/>
- <details key="end" value="1922"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1911"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1875"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1856"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%/cl">
- <details key="start" value="1848"/>
- <details key="end" value="1850"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%.1">
- <details key="start" value="1867"/>
- <details key="end" value="1874"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.1">
- <details key="start" value="1913"/>
- <details key="end" value="1914"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2">
- <details key="start" value="1814"/>
- <details key="end" value="1845"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%">
- <details key="start" value="1815"/>
- <details key="end" value="1823"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%/cl">
- <details key="start" value="1815"/>
- <details key="end" value="1817"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%.1">
- <details key="start" value="1836"/>
- <details key="end" value="1843"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1">
- <details key="start" value="1540"/>
- <details key="end" value="1596"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%">
- <details key="start" value="1541"/>
- <details key="end" value="1565"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/%">
- <details key="start" value="1553"/>
- <details key="end" value="1564"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1">
- <details key="start" value="1569"/>
- <details key="end" value="1595"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/%">
- <details key="start" value="1581"/>
- <details key="end" value="1594"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2">
- <details key="start" value="1925"/>
- <details key="end" value="2025"/>
- <details key="line" value="42"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%">
- <details key="start" value="1992"/>
- <details key="end" value="2020"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%.1">
- <details key="start" value="2022"/>
- <details key="end" value="2023"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1">
- <details key="start" value="1453"/>
- <details key="end" value="1533"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%">
- <details key="start" value="1454"/>
- <details key="end" value="1502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%">
- <details key="start" value="1454"/>
- <details key="end" value="1467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/cl">
- <details key="start" value="1455"/>
- <details key="end" value="1457"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/class">
- <details key="start" value="1461"/>
- <details key="end" value="1466"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1">
- <details key="start" value="1472"/>
- <details key="end" value="1502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%">
- <details key="start" value="1477"/>
- <details key="end" value="1501"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/%">
- <details key="start" value="1491"/>
- <details key="end" value="1500"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1">
- <details key="start" value="1506"/>
- <details key="end" value="1532"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/%">
- <details key="start" value="1520"/>
- <details key="end" value="1531"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <details key="start" value="1256"/>
- <details key="end" value="1271"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/CppClassAllIncludesDeclaration.1/%/list">
- <details key="start" value="1274"/>
- <details key="end" value="1278"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/CppClassAllIncludesDeclaration.1/class">
- <details key="start" value="1199"/>
- <details key="end" value="1217"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/CppClassAllIncludesDeclaration.1/list">
- <details key="start" value="1219"/>
- <details key="end" value="1246"/>
- <details key="line" value="31"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassIncludeClassDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration" endHeaderPosition="122"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <imports href="../../../utils/ClassUtils.emtl#/0"/> + <imports href="CppClassIncludeDeclaration.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="412" endPosition="421" value=" USED??? "/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeClassDeclarationTemplate" visibility="Public"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/openNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template "/> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype"/> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CppTemplate.class"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/closeNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppOwnerPackageIncludeDeclaration" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/* Owner package header include */
#include <"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h>
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CppRoot"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <parameter name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)"> + <definition href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclarationBody" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)"> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppOwnerPackageIncludeDeclaration"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + <else> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + </else> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludesDeclaration.1/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + </body> + <loopVariable name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:VariableExp" name="list" eType="/3/Sequence(Classifier)" referredVariable="/0/CppClassAllIncludesDeclaration.1/list"/> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="list" eType="/3/Sequence(Classifier)"/> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassIncludeClassDeclarationTemplate"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeClassDeclarationTemplate"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eParameters> + </eOperations> + <eOperations name="CppOwnerPackageIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppOwnerPackageIncludeDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclarationBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclarationBody"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration.1"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="list" eType="/3/Sequence(Classifier)"/> + </eOperations> + <eOperations name="getTypesViaDependencies"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="includedClassifiers"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/ClassUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppRoot"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="404"/> + <details key="end" value="423"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassIncludeClassDeclarationTemplate"> + <details key="start" value="424"/> + <details key="end" value="614"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassIncludeClassDeclarationTemplate/%"> + <details key="start" value="498"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassIncludeClassDeclarationTemplate/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassIncludeClassDeclarationTemplate/%.1"> + <details key="start" value="508"/> + <details key="end" value="509"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassIncludeClassDeclarationTemplate/%.2"> + <details key="start" value="509"/> + <details key="end" value="569"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%"> + <details key="start" value="555"/> + <details key="end" value="564"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1"> + <details key="start" value="513"/> + <details key="end" value="554"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/class"> + <details key="start" value="527"/> + <details key="end" value="532"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/%"> + <details key="start" value="534"/> + <details key="end" value="553"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassIncludeClassDeclarationTemplate/%.3"> + <details key="start" value="569"/> + <details key="end" value="575"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassIncludeClassDeclarationTemplate/%.4"> + <details key="start" value="576"/> + <details key="end" value="586"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassIncludeClassDeclarationTemplate/%.4/class"> + <details key="start" value="576"/> + <details key="end" value="581"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassIncludeClassDeclarationTemplate/%.5"> + <details key="start" value="588"/> + <details key="end" value="590"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassIncludeClassDeclarationTemplate/%.6"> + <details key="start" value="591"/> + <details key="end" value="600"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassIncludeClassDeclarationTemplate/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassIncludeClassDeclarationTemplate/class"> + <details key="start" value="481"/> + <details key="end" value="494"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppOwnerPackageIncludeDeclaration"> + <details key="start" value="617"/> + <details key="end" value="924"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppOwnerPackageIncludeDeclaration/%"> + <details key="start" value="743"/> + <details key="end" value="911"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppOwnerPackageIncludeDeclaration/%/%"> + <details key="start" value="797"/> + <details key="end" value="870"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1"> + <details key="start" value="871"/> + <details key="end" value="884"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppOwnerPackageIncludeDeclaration/%/%.2"> + <details key="start" value="886"/> + <details key="end" value="891"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3"> + <details key="start" value="892"/> + <details key="end" value="900"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3/pkg"> + <details key="start" value="892"/> + <details key="end" value="895"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppOwnerPackageIncludeDeclaration/%/%.4"> + <details key="start" value="902"/> + <details key="end" value="906"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5"> + <details key="start" value="747"/> + <details key="end" value="795"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%"> + <details key="start" value="748"/> + <details key="end" value="761"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/pkg"> + <details key="start" value="749"/> + <details key="end" value="752"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/%"> + <details key="start" value="756"/> + <details key="end" value="760"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1"> + <details key="start" value="766"/> + <details key="end" value="794"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%"> + <details key="start" value="771"/> + <details key="end" value="793"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/%"> + <details key="start" value="785"/> + <details key="end" value="792"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <details key="start" value="668"/> + <details key="end" value="681"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppClassAllIncludesDeclaration"> + <details key="start" value="927"/> + <details key="end" value="1064"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassAllIncludesDeclaration/%"> + <details key="start" value="997"/> + <details key="end" value="1050"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassAllIncludesDeclaration/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassAllIncludesDeclaration/%/%"> + <details key="start" value="1028"/> + <details key="end" value="1049"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassAllIncludesDeclaration/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassAllIncludesDeclaration/class"> + <details key="start" value="975"/> + <details key="end" value="993"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassAllIncludesDeclarationBody"> + <details key="start" value="1066"/> + <details key="end" value="1211"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppClassAllIncludesDeclarationBody/%"> + <details key="start" value="1140"/> + <details key="end" value="1197"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppClassAllIncludesDeclarationBody/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppClassAllIncludesDeclarationBody/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1196"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppClassAllIncludesDeclarationBody/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassAllIncludesDeclarationBody/class"> + <details key="start" value="1118"/> + <details key="end" value="1136"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppClassAllIncludesDeclaration.1"> + <details key="start" value="1213"/> + <details key="end" value="2110"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppClassAllIncludesDeclaration.1/%"> + <details key="start" value="1312"/> + <details key="end" value="2098"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassAllIncludesDeclaration.1/%/%"> + <details key="start" value="1507"/> + <details key="end" value="2091"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppClassAllIncludesDeclaration.1/%/%/%"> + <details key="start" value="1591"/> + <details key="end" value="2084"/> + <details key="line" value="37"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%"> + <details key="start" value="1864"/> + <details key="end" value="1976"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1965"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1929"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1910"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%/cl"> + <details key="start" value="1902"/> + <details key="end" value="1904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%.1"> + <details key="start" value="1921"/> + <details key="end" value="1928"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.1"> + <details key="start" value="1967"/> + <details key="end" value="1968"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2"> + <details key="start" value="1868"/> + <details key="end" value="1899"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%"> + <details key="start" value="1869"/> + <details key="end" value="1877"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%/cl"> + <details key="start" value="1869"/> + <details key="end" value="1871"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%.1"> + <details key="start" value="1890"/> + <details key="end" value="1897"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1"> + <details key="start" value="1594"/> + <details key="end" value="1650"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%"> + <details key="start" value="1595"/> + <details key="end" value="1619"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/%"> + <details key="start" value="1607"/> + <details key="end" value="1618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1"> + <details key="start" value="1623"/> + <details key="end" value="1649"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/%"> + <details key="start" value="1635"/> + <details key="end" value="1648"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2"> + <details key="start" value="1979"/> + <details key="end" value="2079"/> + <details key="line" value="43"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%"> + <details key="start" value="2046"/> + <details key="end" value="2074"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%.1"> + <details key="start" value="2076"/> + <details key="end" value="2077"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1"> + <details key="start" value="1510"/> + <details key="end" value="1587"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%"> + <details key="start" value="1511"/> + <details key="end" value="1559"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%"> + <details key="start" value="1511"/> + <details key="end" value="1524"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/cl"> + <details key="start" value="1512"/> + <details key="end" value="1514"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/class"> + <details key="start" value="1518"/> + <details key="end" value="1523"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1"> + <details key="start" value="1529"/> + <details key="end" value="1559"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%"> + <details key="start" value="1534"/> + <details key="end" value="1558"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/%"> + <details key="start" value="1548"/> + <details key="end" value="1557"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1"> + <details key="start" value="1563"/> + <details key="end" value="1586"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/%"> + <details key="start" value="1577"/> + <details key="end" value="1585"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <details key="start" value="1318"/> + <details key="end" value="1333"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/CppClassAllIncludesDeclaration.1/%/list"> + <details key="start" value="1336"/> + <details key="end" value="1340"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/CppClassAllIncludesDeclaration.1/class"> + <details key="start" value="1261"/> + <details key="end" value="1279"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/CppClassAllIncludesDeclaration.1/list"> + <details key="start" value="1281"/> + <details key="end" value="1308"/> + <details key="line" value="32"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl index 90d6de49b7f..f066e657317 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl @@ -1,5 +1,6 @@ [module CppClassIncludeClassDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::ClassUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration/] @@ -25,7 +26,7 @@ [/template] [template public CppClassAllIncludesDeclarationBody(class : Classifier)] -[CppClassAllIncludesDeclaration(getDependencies())/] +[CppClassAllIncludesDeclaration(getTypesViaDependencies())/] [/template] [template public CppClassAllIncludesDeclaration(class : Classifier, list : Sequence(Classifier) )] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl index b03edb71c9c..9512edf6c79 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl @@ -1,553 +1,548 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassIncludeDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration" endHeaderPosition="117">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../preferences/CppCodeGenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Query" name="includeName" visibility="Public">
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template/declaration"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass/name"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/includeName/ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </argument>
- </elseExpression>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="665" endPosition="748" value=" TODO: original code did not use nearest package, if stereotype CppRoot was applied"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeDeclaration" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/includeName">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/CppClassIncludeDeclaration/ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">"/>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- <eOperations name="+">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="other">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="includeName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/includeName"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getHeaderSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/includeName">
- <details key="start" value="261"/>
- <details key="end" value="655"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/includeName/ne">
- <details key="start" value="287"/>
- <details key="end" value="304"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/includeName/%">
- <details key="start" value="317"/>
- <details key="end" value="652"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/includeName/%/%">
- <details key="start" value="320"/>
- <details key="end" value="345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/includeName/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/includeName/%/%/%">
- <details key="start" value="335"/>
- <details key="end" value="343"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/includeName/%/%.1">
- <details key="start" value="352"/>
- <details key="end" value="408"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/includeName/%/%.1/%">
- <details key="start" value="352"/>
- <details key="end" value="396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/includeName/%/%.1/%/%">
- <details key="start" value="352"/>
- <details key="end" value="376"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/includeName/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/includeName/%/%.1/%/%/%">
- <details key="start" value="367"/>
- <details key="end" value="375"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/includeName/%/%.1/%/%.1">
- <details key="start" value="387"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/includeName/%/%.2">
- <details key="start" value="415"/>
- <details key="end" value="646"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/includeName/%/%.2/%">
- <details key="start" value="418"/>
- <details key="end" value="446"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/includeName/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/includeName/%/%.2/%/%">
- <details key="start" value="433"/>
- <details key="end" value="444"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/includeName/%/%.2/%.1">
- <details key="start" value="452"/>
- <details key="end" value="507"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/includeName/%/%.2/%.1/%">
- <details key="start" value="452"/>
- <details key="end" value="502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/includeName/%/%.2/%.1/%/%">
- <details key="start" value="452"/>
- <details key="end" value="479"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/includeName/%/%.2/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/includeName/%/%.2/%.1/%/%/%">
- <details key="start" value="467"/>
- <details key="end" value="478"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/includeName/%/%.2/%.1/%/%.1">
- <details key="start" value="490"/>
- <details key="end" value="501"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/includeName/%/%.2/%.2">
- <details key="start" value="564"/>
- <details key="end" value="639"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/includeName/%/%.2/%.2/%">
- <details key="start" value="564"/>
- <details key="end" value="619"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/includeName/%/%.2/%.2/%/%">
- <details key="start" value="564"/>
- <details key="end" value="613"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/includeName/%/%.2/%.2/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/includeName/%/%.2/%.2/%/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="597"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/includeName/%/%.2/%.2/%/%/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="583"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/includeName/%/%.2/%.2/%/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/includeName/%/%.2/%.2/%/%/%/%.1">
- <details key="start" value="600"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/includeName/%/%.2/%.2/%/%/%.1">
- <details key="start" value="606"/>
- <details key="end" value="613"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/includeName/%/%.2/%.2/%/%/%.1/ne">
- <details key="start" value="606"/>
- <details key="end" value="608"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/includeName/%/%.2/%.2/%/%.1">
- <details key="start" value="616"/>
- <details key="end" value="619"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/includeName/%/%.2/%.2/%.1">
- <details key="start" value="622"/>
- <details key="end" value="639"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/includeName/%/%.2/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/%">
- <details key="start" value="657"/>
- <details key="end" value="750"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassIncludeDeclaration">
- <details key="start" value="751"/>
- <details key="end" value="857"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassIncludeDeclaration/%">
- <details key="start" value="815"/>
- <details key="end" value="825"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassIncludeDeclaration/%.1">
- <details key="start" value="826"/>
- <details key="end" value="842"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassIncludeDeclaration/%.1/ne">
- <details key="start" value="826"/>
- <details key="end" value="828"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassIncludeDeclaration/%.2">
- <details key="start" value="844"/>
- <details key="end" value="845"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassIncludeDeclaration/ne">
- <details key="start" value="795"/>
- <details key="end" value="812"/>
- <details key="line" value="19"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassIncludeDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration" endHeaderPosition="117"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../preferences/CppCodeGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Query" name="includeName" visibility="Public"> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template/declaration"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External/name"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/includeName/ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + </argument> + </elseExpression> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="644" endPosition="727" value=" TODO: original code did not use nearest package, if stereotype CppRoot was applied"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeDeclaration" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/> + <body xsi:type="mtl:QueryInvocation" definition="/0/includeName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/CppClassIncludeDeclaration/ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">"/> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + <eOperations name="+"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="other"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="includeName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/includeName"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getHeaderSuffix"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/includeName"> + <details key="start" value="249"/> + <details key="end" value="634"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/includeName/ne"> + <details key="start" value="275"/> + <details key="end" value="292"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/includeName/%"> + <details key="start" value="305"/> + <details key="end" value="631"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/includeName/%/%"> + <details key="start" value="308"/> + <details key="end" value="333"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/includeName/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/includeName/%/%/%"> + <details key="start" value="323"/> + <details key="end" value="331"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/includeName/%/%.1"> + <details key="start" value="340"/> + <details key="end" value="396"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/includeName/%/%.1/%"> + <details key="start" value="340"/> + <details key="end" value="384"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/includeName/%/%.1/%/%"> + <details key="start" value="340"/> + <details key="end" value="364"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/includeName/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/includeName/%/%.1/%/%/%"> + <details key="start" value="355"/> + <details key="end" value="363"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/includeName/%/%.1/%/%.1"> + <details key="start" value="375"/> + <details key="end" value="383"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/includeName/%/%.2"> + <details key="start" value="403"/> + <details key="end" value="625"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/includeName/%/%.2/%"> + <details key="start" value="406"/> + <details key="end" value="431"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/includeName/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/includeName/%/%.2/%/%"> + <details key="start" value="421"/> + <details key="end" value="429"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/includeName/%/%.2/%.1"> + <details key="start" value="437"/> + <details key="end" value="486"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/includeName/%/%.2/%.1/%"> + <details key="start" value="437"/> + <details key="end" value="481"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/includeName/%/%.2/%.1/%/%"> + <details key="start" value="437"/> + <details key="end" value="461"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/includeName/%/%.2/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/includeName/%/%.2/%.1/%/%/%"> + <details key="start" value="452"/> + <details key="end" value="460"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/includeName/%/%.2/%.1/%/%.1"> + <details key="start" value="472"/> + <details key="end" value="480"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/includeName/%/%.2/%.2"> + <details key="start" value="543"/> + <details key="end" value="618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/includeName/%/%.2/%.2/%"> + <details key="start" value="543"/> + <details key="end" value="598"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/includeName/%/%.2/%.2/%/%"> + <details key="start" value="543"/> + <details key="end" value="592"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/includeName/%/%.2/%.2/%/%/%"> + <details key="start" value="543"/> + <details key="end" value="582"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/includeName/%/%.2/%.2/%/%/%/%"> + <details key="start" value="543"/> + <details key="end" value="576"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/includeName/%/%.2/%.2/%/%/%/%/%"> + <details key="start" value="543"/> + <details key="end" value="562"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/includeName/%/%.2/%.2/%/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/includeName/%/%.2/%.2/%/%/%/%.1"> + <details key="start" value="579"/> + <details key="end" value="582"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/includeName/%/%.2/%.2/%/%/%.1"> + <details key="start" value="585"/> + <details key="end" value="592"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/includeName/%/%.2/%.2/%/%/%.1/ne"> + <details key="start" value="585"/> + <details key="end" value="587"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/includeName/%/%.2/%.2/%/%.1"> + <details key="start" value="595"/> + <details key="end" value="598"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/includeName/%/%.2/%.2/%.1"> + <details key="start" value="601"/> + <details key="end" value="618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/includeName/%/%.2/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/%"> + <details key="start" value="636"/> + <details key="end" value="729"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassIncludeDeclaration"> + <details key="start" value="730"/> + <details key="end" value="836"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassIncludeDeclaration/%"> + <details key="start" value="794"/> + <details key="end" value="804"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassIncludeDeclaration/%.1"> + <details key="start" value="805"/> + <details key="end" value="821"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassIncludeDeclaration/%.1/ne"> + <details key="start" value="805"/> + <details key="end" value="807"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassIncludeDeclaration/%.2"> + <details key="start" value="823"/> + <details key="end" value="824"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassIncludeDeclaration/ne"> + <details key="start" value="774"/> + <details key="end" value="791"/> + <details key="line" value="19"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl index 3ec9d358aa2..f615a1214c6 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl @@ -1,5 +1,5 @@ [module CppClassIncludeDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl index fa0009daaec..fd599c4a091 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl @@ -1,738 +1,739 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassInheritedDeclarations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassInheritedDeclarations" endHeaderPosition="120">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="195" endPosition="462" value="
Return a list of relationships that are either Generalizations or InterfaceRealiazations
and the target does not point to a classifier that has the no-code-gen Stereotype
TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.
"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="filteredRelationships" visibility="Public" type="/3/Set(DirectedRelationship)">
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Set(DirectedRelationship)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(DirectedRelationship)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getSourceDirectedRelationships"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Generalization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/InterfaceRealization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </iterator>
- </expression>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="getCppVisibility" visibility="Public">
- <parameter name="relationship">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility/value"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="public">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassInheritedDeclarations" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships">
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/size"/>
- </source>
- <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/getCppVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships">
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", 
">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="filteredRelationships" eType="/3/Set(DirectedRelationship)">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/filteredRelationships"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="getCppVisibility">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/getCppVisibility"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="relationship">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassInheritedDeclarations">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassInheritedDeclarations"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Relationship_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(DirectedRelationship)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Generalization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="InterfaceRealization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="187"/>
- <details key="end" value="464"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/filteredRelationships">
- <details key="start" value="465"/>
- <details key="end" value="736"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/filteredRelationships/class">
- <details key="start" value="501"/>
- <details key="end" value="519"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/filteredRelationships/select">
- <details key="start" value="552"/>
- <details key="end" value="732"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/filteredRelationships/select/%">
- <details key="start" value="552"/>
- <details key="end" value="584"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/filteredRelationships/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/filteredRelationships/select/%.1">
- <details key="start" value="596"/>
- <details key="end" value="729"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/filteredRelationships/select/%.1/%">
- <details key="start" value="596"/>
- <details key="end" value="662"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/filteredRelationships/select/%.1/%/%">
- <details key="start" value="597"/>
- <details key="end" value="624"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/filteredRelationships/select/%.1/%/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/filteredRelationships/select/%.1/%/%/%">
- <details key="start" value="609"/>
- <details key="end" value="623"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/filteredRelationships/select/%.1/%/%.1">
- <details key="start" value="628"/>
- <details key="end" value="661"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/filteredRelationships/select/%.1/%/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/filteredRelationships/select/%.1/%/%.1/%">
- <details key="start" value="640"/>
- <details key="end" value="660"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/filteredRelationships/select/%.1/%.1">
- <details key="start" value="669"/>
- <details key="end" value="729"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/filteredRelationships/select/%.1/%.1/%">
- <details key="start" value="674"/>
- <details key="end" value="728"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/filteredRelationships/select/%.1/%.1/%/%">
- <details key="start" value="674"/>
- <details key="end" value="703"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/filteredRelationships/select/%.1/%.1/%/%/%">
- <details key="start" value="674"/>
- <details key="end" value="694"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%">
- <details key="start" value="674"/>
- <details key="end" value="680"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/filteredRelationships/select/%.1/%.1/%/%.1">
- <details key="start" value="718"/>
- <details key="end" value="727"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/filteredRelationships/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/getCppVisibility">
- <details key="start" value="738"/>
- <details key="end" value="922"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/getCppVisibility/relationship">
- <details key="start" value="769"/>
- <details key="end" value="796"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/getCppVisibility/%">
- <details key="start" value="809"/>
- <details key="end" value="919"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/getCppVisibility/%/%">
- <details key="start" value="812"/>
- <details key="end" value="839"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/getCppVisibility/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/getCppVisibility/%/%/%">
- <details key="start" value="827"/>
- <details key="end" value="837"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/getCppVisibility/%/%.1">
- <details key="start" value="845"/>
- <details key="end" value="899"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/getCppVisibility/%/%.1/%">
- <details key="start" value="845"/>
- <details key="end" value="893"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/getCppVisibility/%/%.1/%/%">
- <details key="start" value="845"/>
- <details key="end" value="871"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/getCppVisibility/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/getCppVisibility/%/%.1/%/%/%">
- <details key="start" value="860"/>
- <details key="end" value="870"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/getCppVisibility/%/%.1/%/%.1">
- <details key="start" value="882"/>
- <details key="end" value="892"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/getCppVisibility/%/%.2">
- <details key="start" value="905"/>
- <details key="end" value="913"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppClassInheritedDeclarations">
- <details key="start" value="924"/>
- <details key="end" value="1205"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassInheritedDeclarations/%">
- <details key="start" value="992"/>
- <details key="end" value="1042"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassInheritedDeclarations/%/%">
- <details key="start" value="1034"/>
- <details key="end" value="1037"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassInheritedDeclarations/%/%.1">
- <details key="start" value="996"/>
- <details key="end" value="1033"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassInheritedDeclarations/%/%.1/%">
- <details key="start" value="997"/>
- <details key="end" value="1028"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassInheritedDeclarations/%/%.1/%/%">
- <details key="start" value="997"/>
- <details key="end" value="1020"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassInheritedDeclarations/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppClassInheritedDeclarations/%/%.1/%.1">
- <details key="start" value="1031"/>
- <details key="end" value="1032"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppClassInheritedDeclarations/%.1">
- <details key="start" value="1042"/>
- <details key="end" value="1043"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppClassInheritedDeclarations/%.2">
- <details key="start" value="1043"/>
- <details key="end" value="1192"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppClassInheritedDeclarations/%.2/%">
- <details key="start" value="1093"/>
- <details key="end" value="1094"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassInheritedDeclarations/%.2/%.1">
- <details key="start" value="1095"/>
- <details key="end" value="1113"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassInheritedDeclarations/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassInheritedDeclarations/%.2/%.2">
- <details key="start" value="1115"/>
- <details key="end" value="1116"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassInheritedDeclarations/%.2/%.3">
- <details key="start" value="1117"/>
- <details key="end" value="1184"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassInheritedDeclarations/%.2/%.3/%">
- <details key="start" value="1117"/>
- <details key="end" value="1168"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1146"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1137"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1123"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%.1">
- <details key="start" value="1157"/>
- <details key="end" value="1167"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppClassInheritedDeclarations/%.2/%.4">
- <details key="start" value="1049"/>
- <details key="end" value="1072"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppClassInheritedDeclarations/%.2/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppClassInheritedDeclarations/%.2/%.5">
- <details key="start" value="1084"/>
- <details key="end" value="1090"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppClassInheritedDeclarations/class">
- <details key="start" value="971"/>
- <details key="end" value="989"/>
- <details key="line" value="20"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassInheritedDeclarations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassInheritedDeclarations" endHeaderPosition="120"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="249" endPosition="516" value="
Return a list of relationships that are either Generalizations or InterfaceRealiazations
and the target does not point to a classifier that has the no-code-gen Stereotype
TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="filteredRelationships" visibility="Public" type="/3/Set(DirectedRelationship)"> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <expression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Set(DirectedRelationship)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(DirectedRelationship)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getSourceDirectedRelationships"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Generalization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/InterfaceRealization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </iterator> + </expression> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="getCppVisibility" visibility="Public"> + <parameter name="relationship"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility/value"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="public"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassInheritedDeclarations" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/size"/> + </source> + <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:QueryInvocation" definition="/0/getCppVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <iterSet xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </iterSet> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", 
"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="filteredRelationships" eType="/3/Set(DirectedRelationship)"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/filteredRelationships"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getCppVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getCppVisibility"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="relationship"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </eParameters> + </eOperations> + <eOperations name="CppClassInheritedDeclarations"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassInheritedDeclarations"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Relationship_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(DirectedRelationship)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Generalization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="InterfaceRealization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="241"/> + <details key="end" value="518"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/filteredRelationships"> + <details key="start" value="519"/> + <details key="end" value="790"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/filteredRelationships/class"> + <details key="start" value="555"/> + <details key="end" value="573"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/filteredRelationships/select"> + <details key="start" value="606"/> + <details key="end" value="786"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/filteredRelationships/select/%"> + <details key="start" value="606"/> + <details key="end" value="638"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/filteredRelationships/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/filteredRelationships/select/%.1"> + <details key="start" value="650"/> + <details key="end" value="783"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/filteredRelationships/select/%.1/%"> + <details key="start" value="650"/> + <details key="end" value="716"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/filteredRelationships/select/%.1/%/%"> + <details key="start" value="651"/> + <details key="end" value="678"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/filteredRelationships/select/%.1/%/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/filteredRelationships/select/%.1/%/%/%"> + <details key="start" value="663"/> + <details key="end" value="677"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/filteredRelationships/select/%.1/%/%.1"> + <details key="start" value="682"/> + <details key="end" value="715"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/filteredRelationships/select/%.1/%/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/filteredRelationships/select/%.1/%/%.1/%"> + <details key="start" value="694"/> + <details key="end" value="714"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/filteredRelationships/select/%.1/%.1"> + <details key="start" value="723"/> + <details key="end" value="783"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/filteredRelationships/select/%.1/%.1/%"> + <details key="start" value="728"/> + <details key="end" value="782"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/filteredRelationships/select/%.1/%.1/%/%"> + <details key="start" value="728"/> + <details key="end" value="757"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/filteredRelationships/select/%.1/%.1/%/%/%"> + <details key="start" value="728"/> + <details key="end" value="748"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%"> + <details key="start" value="728"/> + <details key="end" value="734"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/filteredRelationships/select/%.1/%.1/%/%.1"> + <details key="start" value="772"/> + <details key="end" value="781"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/filteredRelationships/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/getCppVisibility"> + <details key="start" value="792"/> + <details key="end" value="976"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/getCppVisibility/relationship"> + <details key="start" value="823"/> + <details key="end" value="850"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/getCppVisibility/%"> + <details key="start" value="863"/> + <details key="end" value="973"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/getCppVisibility/%/%"> + <details key="start" value="866"/> + <details key="end" value="893"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/getCppVisibility/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/getCppVisibility/%/%/%"> + <details key="start" value="881"/> + <details key="end" value="891"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/getCppVisibility/%/%.1"> + <details key="start" value="899"/> + <details key="end" value="953"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/getCppVisibility/%/%.1/%"> + <details key="start" value="899"/> + <details key="end" value="947"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/getCppVisibility/%/%.1/%/%"> + <details key="start" value="899"/> + <details key="end" value="925"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/getCppVisibility/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/getCppVisibility/%/%.1/%/%/%"> + <details key="start" value="914"/> + <details key="end" value="924"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/getCppVisibility/%/%.1/%/%.1"> + <details key="start" value="936"/> + <details key="end" value="946"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/getCppVisibility/%/%.2"> + <details key="start" value="959"/> + <details key="end" value="967"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppClassInheritedDeclarations"> + <details key="start" value="978"/> + <details key="end" value="1262"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassInheritedDeclarations/%"> + <details key="start" value="1046"/> + <details key="end" value="1096"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassInheritedDeclarations/%/%"> + <details key="start" value="1088"/> + <details key="end" value="1091"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassInheritedDeclarations/%/%.1"> + <details key="start" value="1050"/> + <details key="end" value="1087"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassInheritedDeclarations/%/%.1/%"> + <details key="start" value="1051"/> + <details key="end" value="1082"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassInheritedDeclarations/%/%.1/%/%"> + <details key="start" value="1051"/> + <details key="end" value="1074"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassInheritedDeclarations/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppClassInheritedDeclarations/%/%.1/%.1"> + <details key="start" value="1085"/> + <details key="end" value="1086"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppClassInheritedDeclarations/%.1"> + <details key="start" value="1096"/> + <details key="end" value="1097"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppClassInheritedDeclarations/%.2"> + <details key="start" value="1097"/> + <details key="end" value="1249"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppClassInheritedDeclarations/%.2/%"> + <details key="start" value="1147"/> + <details key="end" value="1148"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassInheritedDeclarations/%.2/%.1"> + <details key="start" value="1149"/> + <details key="end" value="1167"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppClassInheritedDeclarations/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppClassInheritedDeclarations/%.2/%.2"> + <details key="start" value="1169"/> + <details key="end" value="1170"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassInheritedDeclarations/%.2/%.3"> + <details key="start" value="1171"/> + <details key="end" value="1241"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppClassInheritedDeclarations/%.2/%.3/%"> + <details key="start" value="1171"/> + <details key="end" value="1222"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1200"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1191"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1177"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%.1"> + <details key="start" value="1211"/> + <details key="end" value="1221"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassInheritedDeclarations/%.2/%.4"> + <details key="start" value="1103"/> + <details key="end" value="1126"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppClassInheritedDeclarations/%.2/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppClassInheritedDeclarations/%.2/%.5"> + <details key="start" value="1138"/> + <details key="end" value="1144"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppClassInheritedDeclarations/class"> + <details key="start" value="1025"/> + <details key="end" value="1043"/> + <details key="line" value="21"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl index bc74fb1d96d..f23c427aef4 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl @@ -1,5 +1,6 @@ [module CppClassInheritedDeclarations('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [comment Return a list of relationships that are either Generalizations or InterfaceRealiazations @@ -20,5 +21,5 @@ if (hasStereotype(Visibility)) then getApplication(Visibility).oclAsType(Visibil [template public CppClassInheritedDeclarations(class : Classifier)] [if (filteredRelationships()->size() > 0)] : [/if] [for (filteredRelationships()) separator(', \n')] - [getCppVisibility()/] [target->asSequence()->first().oclAsType(Classifier).qualifiedName()/][/for] + [getCppVisibility()/] [target->asSequence()->first().oclAsType(Classifier).cppQualifiedName()/][/for] [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl index 1a9b879d1e2..d5881c6a4cc 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl @@ -1,278 +1,252 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassOperationsDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsDeclaration" endHeaderPosition="78">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../operation/CppOperations.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsDeclaration/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassOperationsDeclaration/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </iterator>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassOperationsDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassOperationsDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassOperationsDeclaration">
- <details key="start" value="233"/>
- <details key="end" value="449"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassOperationsDeclaration/%">
- <details key="start" value="336"/>
- <details key="end" value="437"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassOperationsDeclaration/%/%">
- <details key="start" value="399"/>
- <details key="end" value="402"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassOperationsDeclaration/%/%.1">
- <details key="start" value="403"/>
- <details key="end" value="428"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassOperationsDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassOperationsDeclaration/%/%.2">
- <details key="start" value="430"/>
- <details key="end" value="431"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassOperationsDeclaration/%/select">
- <details key="start" value="342"/>
- <details key="end" value="396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassOperationsDeclaration/%/select/%">
- <details key="start" value="342"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassOperationsDeclaration/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassOperationsDeclaration/%/select/%.1">
- <details key="start" value="366"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassOperationsDeclaration/%/select/%.1/%">
- <details key="start" value="366"/>
- <details key="end" value="376"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassOperationsDeclaration/%/select/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassOperationsDeclaration/%/select/%.1/visibilityFilter">
- <details key="start" value="379"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassOperationsDeclaration/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassOperationsDeclaration/class">
- <details key="start" value="280"/>
- <details key="end" value="298"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassOperationsDeclaration/visibilityFilter">
- <details key="start" value="300"/>
- <details key="end" value="333"/>
- <details key="line" value="6"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassOperationsDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsDeclaration" endHeaderPosition="78"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../operation/CppOperations.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsDeclaration/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassOperationsDeclaration/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </iterator> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassOperationsDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassOperationsDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassOperationsDeclaration"> + <details key="start" value="170"/> + <details key="end" value="386"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassOperationsDeclaration/%"> + <details key="start" value="273"/> + <details key="end" value="374"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassOperationsDeclaration/%/%"> + <details key="start" value="336"/> + <details key="end" value="339"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassOperationsDeclaration/%/%.1"> + <details key="start" value="340"/> + <details key="end" value="365"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassOperationsDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassOperationsDeclaration/%/%.2"> + <details key="start" value="367"/> + <details key="end" value="368"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassOperationsDeclaration/%/select"> + <details key="start" value="279"/> + <details key="end" value="333"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassOperationsDeclaration/%/select/%"> + <details key="start" value="279"/> + <details key="end" value="294"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassOperationsDeclaration/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassOperationsDeclaration/%/select/%.1"> + <details key="start" value="303"/> + <details key="end" value="332"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassOperationsDeclaration/%/select/%.1/%"> + <details key="start" value="303"/> + <details key="end" value="313"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassOperationsDeclaration/%/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassOperationsDeclaration/%/select/%.1/visibilityFilter"> + <details key="start" value="316"/> + <details key="end" value="332"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassOperationsDeclaration/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassOperationsDeclaration/class"> + <details key="start" value="217"/> + <details key="end" value="235"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassOperationsDeclaration/visibilityFilter"> + <details key="start" value="237"/> + <details key="end" value="270"/> + <details key="line" value="5"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl index fc53a585cb6..bc129027d9f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl @@ -1,5 +1,4 @@ [module CppClassOperationsDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl index 10420f1e1be..5b94db52449 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl @@ -1,389 +1,384 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassOperationsImplementation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsImplementation" endHeaderPosition="123">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../operation/CppOperations.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="286" endPosition="405" value=" implementations of a classifier, parameter controls whether only inline (or only not inline) operations
 are produced"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsImplementation" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Inline">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="inline" referredVariable="/0/CppClassOperationsImplementation/inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </iterator>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassOperationsImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassOperationsImplementation"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eClassifiers>
- </ecore:EPackage>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Inline">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="278"/>
- <details key="end" value="407"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassOperationsImplementation">
- <details key="start" value="408"/>
- <details key="end" value="677"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassOperationsImplementation/%">
- <details key="start" value="497"/>
- <details key="end" value="665"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassOperationsImplementation/%/%">
- <details key="start" value="626"/>
- <details key="end" value="627"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassOperationsImplementation/%/%.1">
- <details key="start" value="628"/>
- <details key="end" value="656"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassOperationsImplementation/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassOperationsImplementation/%/%.2">
- <details key="start" value="658"/>
- <details key="end" value="659"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassOperationsImplementation/%/select">
- <details key="start" value="503"/>
- <details key="end" value="623"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassOperationsImplementation/%/select/%">
- <details key="start" value="503"/>
- <details key="end" value="518"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassOperationsImplementation/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassOperationsImplementation/%/select/%.1">
- <details key="start" value="530"/>
- <details key="end" value="622"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassOperationsImplementation/%/select/%.1/%">
- <details key="start" value="530"/>
- <details key="end" value="576"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%">
- <details key="start" value="535"/>
- <details key="end" value="575"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%">
- <details key="start" value="536"/>
- <details key="end" value="560"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/%">
- <details key="start" value="550"/>
- <details key="end" value="559"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1">
- <details key="start" value="564"/>
- <details key="end" value="574"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1">
- <details key="start" value="583"/>
- <details key="end" value="622"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%">
- <details key="start" value="584"/>
- <details key="end" value="612"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/%">
- <details key="start" value="598"/>
- <details key="end" value="611"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/inline">
- <details key="start" value="615"/>
- <details key="end" value="621"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppClassOperationsImplementation/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppClassOperationsImplementation/class">
- <details key="start" value="458"/>
- <details key="end" value="476"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppClassOperationsImplementation/inline">
- <details key="start" value="478"/>
- <details key="end" value="494"/>
- <details key="line" value="8"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassOperationsImplementation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsImplementation" endHeaderPosition="123"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../operation/CppOperations.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="274" endPosition="393" value=" implementations of a classifier, parameter controls whether only inline (or only not inline) operations
 are produced"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsImplementation" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Inline"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="inline" referredVariable="/0/CppClassOperationsImplementation/inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </iterator> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassOperationsImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassOperationsImplementation"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eClassifiers> + </ecore:EPackage> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Inline"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="266"/> + <details key="end" value="395"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassOperationsImplementation"> + <details key="start" value="396"/> + <details key="end" value="665"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassOperationsImplementation/%"> + <details key="start" value="485"/> + <details key="end" value="653"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassOperationsImplementation/%/%"> + <details key="start" value="614"/> + <details key="end" value="615"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassOperationsImplementation/%/%.1"> + <details key="start" value="616"/> + <details key="end" value="644"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassOperationsImplementation/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassOperationsImplementation/%/%.2"> + <details key="start" value="646"/> + <details key="end" value="647"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassOperationsImplementation/%/select"> + <details key="start" value="491"/> + <details key="end" value="611"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassOperationsImplementation/%/select/%"> + <details key="start" value="491"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassOperationsImplementation/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassOperationsImplementation/%/select/%.1"> + <details key="start" value="518"/> + <details key="end" value="610"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassOperationsImplementation/%/select/%.1/%"> + <details key="start" value="518"/> + <details key="end" value="564"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%"> + <details key="start" value="523"/> + <details key="end" value="563"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%"> + <details key="start" value="524"/> + <details key="end" value="548"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/%"> + <details key="start" value="538"/> + <details key="end" value="547"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1"> + <details key="start" value="552"/> + <details key="end" value="562"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1"> + <details key="start" value="571"/> + <details key="end" value="610"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%"> + <details key="start" value="572"/> + <details key="end" value="600"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/%"> + <details key="start" value="586"/> + <details key="end" value="599"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/inline"> + <details key="start" value="603"/> + <details key="end" value="609"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppClassOperationsImplementation/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppClassOperationsImplementation/class"> + <details key="start" value="446"/> + <details key="end" value="464"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppClassOperationsImplementation/inline"> + <details key="start" value="466"/> + <details key="end" value="482"/> + <details key="line" value="8"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl index c39be30ad8d..1f67d8afc62 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl @@ -1,5 +1,5 @@ [module CppClassOperationsImplementation('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl index 18a6cdd1b6e..435aa172998 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl @@ -1,859 +1,859 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassTypeAndEnum" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassTypeAndEnum" endHeaderPosition="110">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../CppPrimitiveTypes.emtl#/0"/>
- <imports href="../CppEnumerations.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="TypeAndEnumForVisibility" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypeAndEnumForVisibility/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <parameter name="element">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="TypesAndEnumsForVisibility" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypeAndEnumForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </argument>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypesAndEnumsForVisibility/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/16/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/ownedElement"/>
- </iterSet>
- </body>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnum" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" public:
	"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 protected:
	"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 private:
	"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnumPackage" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/>
- </argument>
- </body>
- <parameter name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="TypeAndEnumForVisibility">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/TypeAndEnumForVisibility"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="element">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="TypesAndEnumsForVisibility">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/TypesAndEnumsForVisibility"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassTypeAndEnum">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassTypeAndEnum"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassTypeAndEnumPackage">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassTypeAndEnumPackage"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppPrimitiveTypeDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppEnumerationDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="enum">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Enumeration_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/TypeAndEnumForVisibility">
- <details key="start" value="335"/>
- <details key="end" value="757"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/TypeAndEnumForVisibility/%">
- <details key="start" value="432"/>
- <details key="end" value="745"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/TypeAndEnumForVisibility/%/%">
- <details key="start" value="552"/>
- <details key="end" value="642"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/TypeAndEnumForVisibility/%/%/%">
- <details key="start" value="586"/>
- <details key="end" value="635"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/TypeAndEnumForVisibility/%/%/%/%">
- <details key="start" value="586"/>
- <details key="end" value="608"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/TypeAndEnumForVisibility/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/TypeAndEnumForVisibility/%/%/%/%/%">
- <details key="start" value="596"/>
- <details key="end" value="607"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/TypeAndEnumForVisibility/%/%/%.1">
- <details key="start" value="558"/>
- <details key="end" value="584"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/TypeAndEnumForVisibility/%/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/TypeAndEnumForVisibility/%/%/%.1/%">
- <details key="start" value="571"/>
- <details key="end" value="582"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/TypeAndEnumForVisibility/%/%.1">
- <details key="start" value="642"/>
- <details key="end" value="643"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/TypeAndEnumForVisibility/%/%.2">
- <details key="start" value="643"/>
- <details key="end" value="739"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/TypeAndEnumForVisibility/%/%.2/%">
- <details key="start" value="679"/>
- <details key="end" value="732"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/TypeAndEnumForVisibility/%/%.2/%/%">
- <details key="start" value="679"/>
- <details key="end" value="703"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/%">
- <details key="start" value="689"/>
- <details key="end" value="702"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/TypeAndEnumForVisibility/%/%.2/%.1">
- <details key="start" value="649"/>
- <details key="end" value="677"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/%">
- <details key="start" value="662"/>
- <details key="end" value="675"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/TypeAndEnumForVisibility/%/%.3">
- <details key="start" value="739"/>
- <details key="end" value="740"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/TypeAndEnumForVisibility/%/%.4">
- <details key="start" value="436"/>
- <details key="end" value="550"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/TypeAndEnumForVisibility/%/%.4/%">
- <details key="start" value="437"/>
- <details key="end" value="493"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/TypeAndEnumForVisibility/%/%.4/%/%">
- <details key="start" value="437"/>
- <details key="end" value="465"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%">
- <details key="start" value="441"/>
- <details key="end" value="465"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/%">
- <details key="start" value="455"/>
- <details key="end" value="464"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1">
- <details key="start" value="470"/>
- <details key="end" value="493"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/%">
- <details key="start" value="482"/>
- <details key="end" value="492"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/TypeAndEnumForVisibility/%/%.4/%.1">
- <details key="start" value="498"/>
- <details key="end" value="549"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%">
- <details key="start" value="498"/>
- <details key="end" value="530"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%">
- <details key="start" value="498"/>
- <details key="end" value="519"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/%">
- <details key="start" value="508"/>
- <details key="end" value="518"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/visibilityFilter">
- <details key="start" value="533"/>
- <details key="end" value="549"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/TypeAndEnumForVisibility/element">
- <details key="start" value="377"/>
- <details key="end" value="394"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/TypeAndEnumForVisibility/visibilityFilter">
- <details key="start" value="396"/>
- <details key="end" value="429"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/TypesAndEnumsForVisibility">
- <details key="start" value="759"/>
- <details key="end" value="938"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/TypesAndEnumsForVisibility/%">
- <details key="start" value="855"/>
- <details key="end" value="926"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/TypesAndEnumsForVisibility/%/%">
- <details key="start" value="876"/>
- <details key="end" value="918"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/TypesAndEnumsForVisibility/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/TypesAndEnumsForVisibility/%/%/visibilityFilter">
- <details key="start" value="901"/>
- <details key="end" value="917"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/TypesAndEnumsForVisibility/%/%.1">
- <details key="start" value="861"/>
- <details key="end" value="873"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/TypesAndEnumsForVisibility/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/TypesAndEnumsForVisibility/ne">
- <details key="start" value="803"/>
- <details key="end" value="817"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/TypesAndEnumsForVisibility/visibilityFilter">
- <details key="start" value="819"/>
- <details key="end" value="852"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassTypeAndEnum">
- <details key="start" value="940"/>
- <details key="end" value="1212"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassTypeAndEnum/%">
- <details key="start" value="998"/>
- <details key="end" value="1009"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassTypeAndEnum/%.1">
- <details key="start" value="1010"/>
- <details key="end" value="1060"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassTypeAndEnum/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassTypeAndEnum/%.1/%">
- <details key="start" value="1037"/>
- <details key="end" value="1059"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassTypeAndEnum/%.2">
- <details key="start" value="1062"/>
- <details key="end" value="1077"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassTypeAndEnum/%.3">
- <details key="start" value="1078"/>
- <details key="end" value="1131"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassTypeAndEnum/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppClassTypeAndEnum/%.3/%">
- <details key="start" value="1105"/>
- <details key="end" value="1130"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppClassTypeAndEnum/%.4">
- <details key="start" value="1133"/>
- <details key="end" value="1146"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppClassTypeAndEnum/%.5">
- <details key="start" value="1147"/>
- <details key="end" value="1198"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppClassTypeAndEnum/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppClassTypeAndEnum/%.5/%">
- <details key="start" value="1174"/>
- <details key="end" value="1197"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppClassTypeAndEnum/class">
- <details key="start" value="977"/>
- <details key="end" value="995"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppClassTypeAndEnumPackage">
- <details key="start" value="1215"/>
- <details key="end" value="1396"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppClassTypeAndEnumPackage/%">
- <details key="start" value="1276"/>
- <details key="end" value="1328"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppClassTypeAndEnumPackage/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppClassTypeAndEnumPackage/%/%">
- <details key="start" value="1303"/>
- <details key="end" value="1327"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppClassTypeAndEnumPackage/%.1">
- <details key="start" value="1330"/>
- <details key="end" value="1331"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppClassTypeAndEnumPackage/%.2">
- <details key="start" value="1332"/>
- <details key="end" value="1382"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppClassTypeAndEnumPackage/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppClassTypeAndEnumPackage/%.2/%">
- <details key="start" value="1359"/>
- <details key="end" value="1381"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppClassTypeAndEnumPackage/pkg">
- <details key="start" value="1259"/>
- <details key="end" value="1272"/>
- <details key="line" value="27"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassTypeAndEnum" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassTypeAndEnum" endHeaderPosition="110"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../CppPrimitiveTypes.emtl#/0"/> + <imports href="../CppEnumerations.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="TypeAndEnumForVisibility" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypeAndEnumForVisibility/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <parameter name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="TypesAndEnumsForVisibility" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypeAndEnumForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </argument> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypesAndEnumsForVisibility/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + </body> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/16/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/ownedElement"/> + </iterSet> + </body> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnum" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" public:
	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 protected:
	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 private:
	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnumPackage" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </body> + <parameter name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="TypeAndEnumForVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/TypeAndEnumForVisibility"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="TypesAndEnumsForVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/TypesAndEnumsForVisibility"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppClassTypeAndEnum"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassTypeAndEnum"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassTypeAndEnumPackage"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassTypeAndEnumPackage"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="CppPrimitiveTypeDefinition"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="primitiveType"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eParameters> + </eOperations> + <eOperations name="CppEnumerationDefinition"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="enum"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Enumeration_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/TypeAndEnumForVisibility"> + <details key="start" value="323"/> + <details key="end" value="745"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/TypeAndEnumForVisibility/%"> + <details key="start" value="420"/> + <details key="end" value="733"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/TypeAndEnumForVisibility/%/%"> + <details key="start" value="540"/> + <details key="end" value="630"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/TypeAndEnumForVisibility/%/%/%"> + <details key="start" value="574"/> + <details key="end" value="623"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/TypeAndEnumForVisibility/%/%/%/%"> + <details key="start" value="574"/> + <details key="end" value="596"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/TypeAndEnumForVisibility/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/TypeAndEnumForVisibility/%/%/%/%/%"> + <details key="start" value="584"/> + <details key="end" value="595"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/TypeAndEnumForVisibility/%/%/%.1"> + <details key="start" value="546"/> + <details key="end" value="572"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/TypeAndEnumForVisibility/%/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/TypeAndEnumForVisibility/%/%/%.1/%"> + <details key="start" value="559"/> + <details key="end" value="570"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/TypeAndEnumForVisibility/%/%.1"> + <details key="start" value="630"/> + <details key="end" value="631"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/TypeAndEnumForVisibility/%/%.2"> + <details key="start" value="631"/> + <details key="end" value="727"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/TypeAndEnumForVisibility/%/%.2/%"> + <details key="start" value="667"/> + <details key="end" value="720"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/TypeAndEnumForVisibility/%/%.2/%/%"> + <details key="start" value="667"/> + <details key="end" value="691"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/%"> + <details key="start" value="677"/> + <details key="end" value="690"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/TypeAndEnumForVisibility/%/%.2/%.1"> + <details key="start" value="637"/> + <details key="end" value="665"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/%"> + <details key="start" value="650"/> + <details key="end" value="663"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/TypeAndEnumForVisibility/%/%.3"> + <details key="start" value="727"/> + <details key="end" value="728"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/TypeAndEnumForVisibility/%/%.4"> + <details key="start" value="424"/> + <details key="end" value="538"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/TypeAndEnumForVisibility/%/%.4/%"> + <details key="start" value="425"/> + <details key="end" value="481"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/TypeAndEnumForVisibility/%/%.4/%/%"> + <details key="start" value="425"/> + <details key="end" value="453"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%"> + <details key="start" value="429"/> + <details key="end" value="453"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/%"> + <details key="start" value="443"/> + <details key="end" value="452"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1"> + <details key="start" value="458"/> + <details key="end" value="481"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/%"> + <details key="start" value="470"/> + <details key="end" value="480"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/TypeAndEnumForVisibility/%/%.4/%.1"> + <details key="start" value="486"/> + <details key="end" value="537"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%"> + <details key="start" value="486"/> + <details key="end" value="518"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%"> + <details key="start" value="486"/> + <details key="end" value="507"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/%"> + <details key="start" value="496"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/visibilityFilter"> + <details key="start" value="521"/> + <details key="end" value="537"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/TypeAndEnumForVisibility/element"> + <details key="start" value="365"/> + <details key="end" value="382"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/TypeAndEnumForVisibility/visibilityFilter"> + <details key="start" value="384"/> + <details key="end" value="417"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/TypesAndEnumsForVisibility"> + <details key="start" value="747"/> + <details key="end" value="926"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/TypesAndEnumsForVisibility/%"> + <details key="start" value="843"/> + <details key="end" value="914"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/TypesAndEnumsForVisibility/%/%"> + <details key="start" value="864"/> + <details key="end" value="906"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/TypesAndEnumsForVisibility/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/TypesAndEnumsForVisibility/%/%/visibilityFilter"> + <details key="start" value="889"/> + <details key="end" value="905"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/TypesAndEnumsForVisibility/%/%.1"> + <details key="start" value="849"/> + <details key="end" value="861"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/TypesAndEnumsForVisibility/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/TypesAndEnumsForVisibility/ne"> + <details key="start" value="791"/> + <details key="end" value="805"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/TypesAndEnumsForVisibility/visibilityFilter"> + <details key="start" value="807"/> + <details key="end" value="840"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassTypeAndEnum"> + <details key="start" value="928"/> + <details key="end" value="1200"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppClassTypeAndEnum/%"> + <details key="start" value="986"/> + <details key="end" value="997"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppClassTypeAndEnum/%.1"> + <details key="start" value="998"/> + <details key="end" value="1048"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassTypeAndEnum/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppClassTypeAndEnum/%.1/%"> + <details key="start" value="1025"/> + <details key="end" value="1047"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassTypeAndEnum/%.2"> + <details key="start" value="1050"/> + <details key="end" value="1065"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassTypeAndEnum/%.3"> + <details key="start" value="1066"/> + <details key="end" value="1119"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassTypeAndEnum/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppClassTypeAndEnum/%.3/%"> + <details key="start" value="1093"/> + <details key="end" value="1118"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassTypeAndEnum/%.4"> + <details key="start" value="1121"/> + <details key="end" value="1134"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassTypeAndEnum/%.5"> + <details key="start" value="1135"/> + <details key="end" value="1186"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppClassTypeAndEnum/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppClassTypeAndEnum/%.5/%"> + <details key="start" value="1162"/> + <details key="end" value="1185"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppClassTypeAndEnum/class"> + <details key="start" value="965"/> + <details key="end" value="983"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppClassTypeAndEnumPackage"> + <details key="start" value="1203"/> + <details key="end" value="1384"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppClassTypeAndEnumPackage/%"> + <details key="start" value="1264"/> + <details key="end" value="1316"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppClassTypeAndEnumPackage/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppClassTypeAndEnumPackage/%/%"> + <details key="start" value="1291"/> + <details key="end" value="1315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppClassTypeAndEnumPackage/%.1"> + <details key="start" value="1318"/> + <details key="end" value="1319"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppClassTypeAndEnumPackage/%.2"> + <details key="start" value="1320"/> + <details key="end" value="1370"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppClassTypeAndEnumPackage/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppClassTypeAndEnumPackage/%.2/%"> + <details key="start" value="1347"/> + <details key="end" value="1369"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppClassTypeAndEnumPackage/pkg"> + <details key="start" value="1247"/> + <details key="end" value="1260"/> + <details key="line" value="27"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl index aabc4832534..9ba92353d94 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl @@ -1,5 +1,5 @@ [module CppClassTypeAndEnum('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppPrimitiveTypes/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations/] |