Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnsgar Radermacher2013-08-09 09:15:33 -0400
committerAnsgar Radermacher2013-08-09 09:15:33 -0400
commitc7da9455ebe50fb302bde9b9049f288511afbb2c (patch)
treecfaff2f9b660befb85db8d473f1e0392ff4122a8 /extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz
parent97aac38470f7ab344bf31301181b861d8699f7cc (diff)
downloadorg.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.tar.gz
org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.tar.xz
org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.zip
Refactored GenUtils with the objective to support multiple programming languages
- moved C++ independent part into org.eclipse.papyrus.acceleo plugin - created CppGenUtils that contains now only C++ specific code - subsequent changes in many .mtl and .emtl files
Diffstat (limited to 'extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz')
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl530
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl1
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl800
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl7
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl2191
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl5
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl1101
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl2
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl1477
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl5
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl530
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl1
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl773
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl2
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl1718
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl2
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="&#xA;&#x9;"/>
- <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="&#xA;"/>
- <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="&#xA;&#x9;"/>
+ <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="&#xA;"/>
+ <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="&#x9;&#x9;"/>
- <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="&#xA;"/>
- <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="&#x9;&#x9;"/>
+ <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="&#xA;"/>
+ <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="&#xA;"/>
- <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=";&#xA;"/>
- <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 */&#xA;#include &lt;"/>
- <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>&#xA;"/>
- <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="&#xA;"/>
- <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="&#xA;"/>
- </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="&#xA;"/>
+ <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=";&#xA;"/>
+ <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 */&#xA;#include &lt;"/>
+ <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>&#xA;"/>
+ <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="&#xA;"/>
+ <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="&#xA;"/>
+ </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 &lt;"/>
- <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 &lt;"/>
+ <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="&#xA;Return a list of relationships that are either Generalizations or InterfaceRealiazations&#xA;and the target does not point to a classifier that has the no-code-gen Stereotype&#xA;TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.&#xA;"/>
- </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="&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
- <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=", &#xA;">
- <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="&#xA;Return a list of relationships that are either Generalizations or InterfaceRealiazations&#xA;and the target does not point to a classifier that has the no-code-gen Stereotype&#xA;TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.&#xA;"/>
+ </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="&#xA;"/>
+ <body xsi:type="mtl:ForBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
+ <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=", &#xA;">
+ <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="&#xA; &#x9;"/>
- <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="&#xA;"/>
- <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="&#xA; &#x9;"/>
+ <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="&#xA;"/>
+ <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&#xA; are produced"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsImplementation" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
- <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="&#xA;"/>
- <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&#xA; are produced"/>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsImplementation" visibility="Public">
+ <body xsi:type="mtl:ForBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
+ <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="&#xA;"/>
+ <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="&#xA;"/>
- <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="&#xA;"/>
- <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:&#xA;&#x9;"/>
- <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="&#xA; protected:&#xA;&#x9;"/>
- <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="&#xA; private:&#xA;&#x9;"/>
- <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="&#xA;"/>
- <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="&#xA;"/>
+ <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="&#xA;"/>
+ <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:&#xA;&#x9;"/>
+ <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="&#xA; protected:&#xA;&#x9;"/>
+ <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="&#xA; private:&#xA;&#x9;"/>
+ <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="&#xA;"/>
+ <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/]

Back to the top