Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util')
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl2662
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl11
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl969
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl2
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl885
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl2
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl1063
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl3
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl1679
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl7
-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
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl4827
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl5
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl1470
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl8
30 files changed, 11367 insertions, 11371 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl
index 278b20def88..3da6bf34607 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl
@@ -1,1302 +1,1360 @@
-<?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="CppAttribute" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute" endHeaderPosition="61">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../utils/GenUtils.emtl#/0"/>
- <imports href="../../utils/Modifier.emtl#/0"/>
- <imports href="../Constants.emtl#/0"/>
- <imports href="CppDocumentation.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/defaultValue/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/>
- </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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
- <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#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
- </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: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="self" referredVariable="/6">
- <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#//Feature/isStatic"/>
- </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="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="staticValue" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/>
- <ifExpr 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="attribute" referredVariable="/0/staticValue/attribute">
- <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#//Feature/isStatic"/>
- </ifExpr>
- </body>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeDeclaration" visibility="Public">
- <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="CppDocumentation.emtl#/0/CppElementDoc"/>
- <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#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/staticValue">
- <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#//Property"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modConst"/>
- <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#//Property"/>
- </argument>
- </body>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeDeclaration/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22">
- <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=" "/>
- <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="attribute" referredVariable="/0/CppAttributeDeclaration/attribute">
- <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/name"/>
- </body>
- <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/Modifier.emtl#/0/modArray"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24">
- <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=";"/>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeImplementation" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#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="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
- <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;&#x9;"/>
- <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/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeImplementation/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modRef"/>
- <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#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <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="attribute" referredVariable="/0/CppAttributeImplementation/attribute">
- <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/name"/>
- </body>
- <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/Modifier.emtl#/0/modArray"/>
- <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#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributeImplementation" visibility="Public">
- <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="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/40">
- <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;"/>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/42">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43">
- <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=" "/>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/>
- <body xsi:type="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="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute">
- <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/name"/>
- </body>
- <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/Modifier.emtl#/0/modArray"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue">
- <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="/47">
- <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=";"/>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="1246" endPosition="1385" value="&#xA;Loop over attributes. Check that the attribute is not a static const.&#xA;Constant static attributes are declared within the class declaration"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributes" visibility="Public">
- <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="../Constants.emtl#/0/constStaticAttributes"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52">
- <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;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppStaticAttributeImplementation">
- <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="/58">
- <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;&#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="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="/57">
- <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#//Feature/isStatic"/>
- </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="/57">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/56/Const">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/>
- </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="ocl.ecore:PropertyCallExp" eType="/53/Set(Property)">
- <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/CppStaticAttributes/classifier">
- <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"/>
- </iterSet>
- </body>
- <parameter name="classifier">
- <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="defaultValue">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/defaultValue"/>
- <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>
- <eOperations name="staticValue">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/staticValue"/>
- <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>
- <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="/0/CppAttributeDeclaration"/>
- <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>
- <eOperations name="CppAttributeImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppAttributeImplementation"/>
- <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>
- <eOperations name="CppStaticAttributeImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppStaticAttributeImplementation"/>
- <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>
- <eOperations name="CppStaticAttributes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppStaticAttributes"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="classifier">
- <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="modPtr">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modPtr"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modRef">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modRef"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modArray">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modArray"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modConst">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modConst"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constStaticAttributes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../Constants.emtl#/0/constStaticAttributes"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="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>
- <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="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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#//Property"/>
- </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#//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#//Property"/>
- </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#//Property"/>
- </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#//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/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#//Property"/>
- </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#//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#//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#//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#//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#//Property"/>
- </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#//Property"/>
- </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#//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#//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#//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#//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/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#//Property"/>
- </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#//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#//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#//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#//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#//Property"/>
- </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>
- <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>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Const">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/>
- </eClassifiers>
- </ecore:EPackage>
- <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/defaultValue">
- <details key="start" value="337"/>
- <details key="end" value="489"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/defaultValue/%">
- <details key="start" value="390"/>
- <details key="end" value="477"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/defaultValue/%/%">
- <details key="start" value="430"/>
- <details key="end" value="433"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1">
- <details key="start" value="434"/>
- <details key="end" value="470"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%">
- <details key="start" value="434"/>
- <details key="end" value="456"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/attribute">
- <details key="start" value="434"/>
- <details key="end" value="443"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/defaultValue/%/%.2">
- <details key="start" value="394"/>
- <details key="end" value="429"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/defaultValue/%/%.2/%">
- <details key="start" value="394"/>
- <details key="end" value="416"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/defaultValue/%/%.2/%/%">
- <details key="start" value="395"/>
- <details key="end" value="407"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/%/%.1">
- <details key="start" value="411"/>
- <details key="end" value="415"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%.1">
- <details key="start" value="421"/>
- <details key="end" value="429"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/defaultValue/%/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/defaultValue/attribute">
- <details key="start" value="367"/>
- <details key="end" value="387"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/staticValue">
- <details key="start" value="492"/>
- <details key="end" value="593"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/staticValue/%">
- <details key="start" value="544"/>
- <details key="end" value="581"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/staticValue/%/%">
- <details key="start" value="569"/>
- <details key="end" value="576"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/staticValue/%/%.1">
- <details key="start" value="548"/>
- <details key="end" value="568"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/staticValue/%/%.1/attribute">
- <details key="start" value="549"/>
- <details key="end" value="558"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/staticValue/attribute">
- <details key="start" value="521"/>
- <details key="end" value="541"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppAttributeDeclaration">
- <details key="start" value="596"/>
- <details key="end" value="807"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppAttributeDeclaration/%">
- <details key="start" value="661"/>
- <details key="end" value="676"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppAttributeDeclaration/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppAttributeDeclaration/%.1">
- <details key="start" value="678"/>
- <details key="end" value="679"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppAttributeDeclaration/%.2">
- <details key="start" value="680"/>
- <details key="end" value="693"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppAttributeDeclaration/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppAttributeDeclaration/%.3">
- <details key="start" value="696"/>
- <details key="end" value="706"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppAttributeDeclaration/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppAttributeDeclaration/%.4">
- <details key="start" value="709"/>
- <details key="end" value="739"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppAttributeDeclaration/%.4/%">
- <details key="start" value="709"/>
- <details key="end" value="723"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppAttributeDeclaration/%.4/%/attribute">
- <details key="start" value="709"/>
- <details key="end" value="718"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppAttributeDeclaration/%.5">
- <details key="start" value="742"/>
- <details key="end" value="750"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppAttributeDeclaration/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppAttributeDeclaration/%.6">
- <details key="start" value="753"/>
- <details key="end" value="761"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppAttributeDeclaration/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppAttributeDeclaration/%.7">
- <details key="start" value="763"/>
- <details key="end" value="764"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppAttributeDeclaration/%.8">
- <details key="start" value="765"/>
- <details key="end" value="779"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppAttributeDeclaration/%.8/attribute">
- <details key="start" value="765"/>
- <details key="end" value="774"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppAttributeDeclaration/%.9">
- <details key="start" value="782"/>
- <details key="end" value="792"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppAttributeDeclaration/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppAttributeDeclaration/%.10">
- <details key="start" value="794"/>
- <details key="end" value="795"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppAttributeDeclaration/attribute">
- <details key="start" value="637"/>
- <details key="end" value="657"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppAttributeImplementation">
- <details key="start" value="810"/>
- <details key="end" value="1010"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppAttributeImplementation/%">
- <details key="start" value="877"/>
- <details key="end" value="878"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppAttributeImplementation/%.1">
- <details key="start" value="879"/>
- <details key="end" value="894"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppAttributeImplementation/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppAttributeImplementation/%.2">
- <details key="start" value="896"/>
- <details key="end" value="898"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppAttributeImplementation/%.3">
- <details key="start" value="899"/>
- <details key="end" value="909"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppAttributeImplementation/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppAttributeImplementation/%.4">
- <details key="start" value="912"/>
- <details key="end" value="942"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppAttributeImplementation/%.4/%">
- <details key="start" value="912"/>
- <details key="end" value="926"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppAttributeImplementation/%.4/%/attribute">
- <details key="start" value="912"/>
- <details key="end" value="921"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppAttributeImplementation/%.5">
- <details key="start" value="945"/>
- <details key="end" value="953"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppAttributeImplementation/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppAttributeImplementation/%.6">
- <details key="start" value="956"/>
- <details key="end" value="964"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppAttributeImplementation/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppAttributeImplementation/%.7">
- <details key="start" value="966"/>
- <details key="end" value="967"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppAttributeImplementation/%.8">
- <details key="start" value="968"/>
- <details key="end" value="982"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppAttributeImplementation/%.8/attribute">
- <details key="start" value="968"/>
- <details key="end" value="977"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppAttributeImplementation/%.9">
- <details key="start" value="985"/>
- <details key="end" value="995"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppAttributeImplementation/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppAttributeImplementation/%.10">
- <details key="start" value="997"/>
- <details key="end" value="998"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppAttributeImplementation/attribute">
- <details key="start" value="854"/>
- <details key="end" value="874"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppStaticAttributeImplementation">
- <details key="start" value="1012"/>
- <details key="end" value="1235"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppStaticAttributeImplementation/%">
- <details key="start" value="1086"/>
- <details key="end" value="1101"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppStaticAttributeImplementation/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppStaticAttributeImplementation/%.1">
- <details key="start" value="1103"/>
- <details key="end" value="1104"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppStaticAttributeImplementation/%.2">
- <details key="start" value="1105"/>
- <details key="end" value="1125"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppStaticAttributeImplementation/%.2/%">
- <details key="start" value="1105"/>
- <details key="end" value="1109"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppStaticAttributeImplementation/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppStaticAttributeImplementation/%.3">
- <details key="start" value="1128"/>
- <details key="end" value="1136"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppStaticAttributeImplementation/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppStaticAttributeImplementation/%.4">
- <details key="start" value="1139"/>
- <details key="end" value="1147"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppStaticAttributeImplementation/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppStaticAttributeImplementation/%.5">
- <details key="start" value="1149"/>
- <details key="end" value="1150"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppStaticAttributeImplementation/%.6">
- <details key="start" value="1151"/>
- <details key="end" value="1171"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppStaticAttributeImplementation/%.6/%">
- <details key="start" value="1151"/>
- <details key="end" value="1166"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppStaticAttributeImplementation/%.6/%/attribute">
- <details key="start" value="1151"/>
- <details key="end" value="1160"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppStaticAttributeImplementation/%.7">
- <details key="start" value="1173"/>
- <details key="end" value="1175"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/CppStaticAttributeImplementation/%.8">
- <details key="start" value="1176"/>
- <details key="end" value="1190"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/CppStaticAttributeImplementation/%.8/attribute">
- <details key="start" value="1176"/>
- <details key="end" value="1185"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/CppStaticAttributeImplementation/%.9">
- <details key="start" value="1193"/>
- <details key="end" value="1203"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/CppStaticAttributeImplementation/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/CppStaticAttributeImplementation/%.10">
- <details key="start" value="1206"/>
- <details key="end" value="1220"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/CppStaticAttributeImplementation/%.10/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/CppStaticAttributeImplementation/%.11">
- <details key="start" value="1222"/>
- <details key="end" value="1223"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/CppStaticAttributeImplementation/attribute">
- <details key="start" value="1062"/>
- <details key="end" value="1082"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/%">
- <details key="start" value="1238"/>
- <details key="end" value="1387"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/CppStaticAttributes">
- <details key="start" value="1389"/>
- <details key="end" value="1626"/>
- <details key="line" value="38"/>
- </eAnnotations>
- <eAnnotations source="positions.89" references="/0/CppStaticAttributes/%">
- <details key="start" value="1453"/>
- <details key="end" value="1476"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.90" references="/0/CppStaticAttributes/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.91" references="/0/CppStaticAttributes/%.1">
- <details key="start" value="1478"/>
- <details key="end" value="1479"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.92" references="/0/CppStaticAttributes/%.2">
- <details key="start" value="1479"/>
- <details key="end" value="1614"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.93" references="/0/CppStaticAttributes/%.2/%">
- <details key="start" value="1509"/>
- <details key="end" value="1607"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.94" references="/0/CppStaticAttributes/%.2/%/%">
- <details key="start" value="1563"/>
- <details key="end" value="1597"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.95" references="/0/CppStaticAttributes/%.2/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.96" references="/0/CppStaticAttributes/%.2/%/%.1">
- <details key="start" value="1599"/>
- <details key="end" value="1601"/>
- <details key="line" value="43"/>
- </eAnnotations>
- <eAnnotations source="positions.97" references="/0/CppStaticAttributes/%.2/%/%.2">
- <details key="start" value="1512"/>
- <details key="end" value="1560"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.98" references="/0/CppStaticAttributes/%.2/%/%.2/%">
- <details key="start" value="1513"/>
- <details key="end" value="1521"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.99" references="/0/CppStaticAttributes/%.2/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.100" references="/0/CppStaticAttributes/%.2/%/%.2/%.1">
- <details key="start" value="1526"/>
- <details key="end" value="1559"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.101" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%">
- <details key="start" value="1531"/>
- <details key="end" value="1558"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.102" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.103" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/%">
- <details key="start" value="1545"/>
- <details key="end" value="1557"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.104" references="/0/CppStaticAttributes/%.2/%.1">
- <details key="start" value="1485"/>
- <details key="end" value="1505"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.105" references="/0/CppStaticAttributes/%.2/%.1/classifier">
- <details key="start" value="1485"/>
- <details key="end" value="1495"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.106" references="/0/CppStaticAttributes/classifier">
- <details key="start" value="1426"/>
- <details key="end" value="1449"/>
- <details key="line" value="38"/>
- </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="CppAttribute" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute" endHeaderPosition="103">
+ <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/Modifier.emtl#/0"/>
+ <imports href="../Constants.emtl#/0"/>
+ <imports href="CppDocumentation.emtl#/0"/>
+ <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
+ <body xsi:type="ocl.ecore:OperationCallExp">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <source xsi:type="ocl.ecore:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/defaultValue/attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
+ </source>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/>
+ </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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
+ <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#//Property"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
+ </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: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="self" referredVariable="/6">
+ <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#//Feature/isStatic"/>
+ </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="attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="staticValue" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/>
+ <ifExpr 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="attribute" referredVariable="/0/staticValue/attribute">
+ <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#//Feature/isStatic"/>
+ </ifExpr>
+ </body>
+ <parameter name="attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeDeclaration" visibility="Public">
+ <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="CppDocumentation.emtl#/0/CppElementDoc"/>
+ <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#//Property"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/staticValue">
+ <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#//Property"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modConst"/>
+ <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#//Property"/>
+ </argument>
+ </body>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeDeclaration/attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modPtr"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modRef"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22">
+ <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=" "/>
+ <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="attribute" referredVariable="/0/CppAttributeDeclaration/attribute">
+ <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/name"/>
+ </body>
+ <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/Modifier.emtl#/0/modArray"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue">
+ <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#//Property"/>
+ </argument>
+ </body>
+ <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.1"/>
+ <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#//Property"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/25/Const">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/>
+ </argument>
+ </ifExpr>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
+ <parameter name="attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeImplementation" visibility="Public">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#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="CppDocumentation.emtl#/0/CppElementDoc"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32">
+ <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;&#x9;"/>
+ <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/Modifier.emtl#/0/modConst"/>
+ <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#//Property"/>
+ </argument>
+ </body>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeImplementation/attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modPtr"/>
+ <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#//Property"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modRef"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
+ <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=" "/>
+ <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="attribute" referredVariable="/0/CppAttributeImplementation/attribute">
+ <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/name"/>
+ </body>
+ <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/Modifier.emtl#/0/modArray"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38">
+ <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=";"/>
+ <parameter name="attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributeImplementation" visibility="Public">
+ <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="CppDocumentation.emtl#/0/CppElementDoc"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43">
+ <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;"/>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modPtr"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modRef"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46">
+ <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=" "/>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/class"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/>
+ <body xsi:type="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="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute">
+ <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/name"/>
+ </body>
+ <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/Modifier.emtl#/0/modArray"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue">
+ <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="/50">
+ <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=";"/>
+ <parameter name="attribute">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Comment">
+ <body startPosition="1407" endPosition="1546" value="&#xA;Loop over attributes. Check that the attribute is not a static const.&#xA;Constant static attributes are declared within the class declaration"/>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributes" visibility="Public">
+ <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="../Constants.emtl#/0/constStaticAttributes"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/55">
+ <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;"/>
+ <body xsi:type="mtl:ForBlock">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppStaticAttributeImplementation">
+ <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="/60">
+ <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;&#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="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="/59">
+ <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#//Feature/isStatic"/>
+ </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="/59">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/25/Const">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/>
+ </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="ocl.ecore:PropertyCallExp" eType="/56/Set(Property)">
+ <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/CppStaticAttributes/classifier">
+ <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"/>
+ </iterSet>
+ </body>
+ <parameter name="classifier">
+ <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="defaultValue">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/defaultValue"/>
+ <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>
+ <eOperations name="staticValue">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/staticValue"/>
+ <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>
+ <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="/0/CppAttributeDeclaration"/>
+ <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>
+ <eOperations name="CppAttributeImplementation">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppAttributeImplementation"/>
+ <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>
+ <eOperations name="CppStaticAttributeImplementation">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppStaticAttributeImplementation"/>
+ <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>
+ <eOperations name="CppStaticAttributes">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppStaticAttributes"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="classifier">
+ <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>
+ <eOperations name="modPtr">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../utils/Modifier.emtl#/0/modPtr"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modRef">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../utils/Modifier.emtl#/0/modRef"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modArray">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../utils/Modifier.emtl#/0/modArray"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modConst">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../utils/Modifier.emtl#/0/modConst"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="constStaticAttributes">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../Constants.emtl#/0/constStaticAttributes"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="dummy">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CppElementDoc">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="argument">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </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="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>
+ <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>
+ <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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#//Property"/>
+ </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#//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#//Property"/>
+ </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#//Property"/>
+ </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#//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/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#//Property"/>
+ </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#//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#//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#//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#//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#//Property"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="types">
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="Const">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <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/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#//Property"/>
+ </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#//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#//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#//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#//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/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#//Property"/>
+ </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#//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#//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#//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#//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#//Property"/>
+ </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>
+ <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#//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/defaultValue">
+ <details key="start" value="433"/>
+ <details key="end" value="585"/>
+ <details key="line" value="9"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1" references="/0/defaultValue/%">
+ <details key="start" value="486"/>
+ <details key="end" value="573"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2" references="/0/defaultValue/%/%">
+ <details key="start" value="526"/>
+ <details key="end" value="529"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1">
+ <details key="start" value="530"/>
+ <details key="end" value="566"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%">
+ <details key="start" value="530"/>
+ <details key="end" value="552"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/attribute">
+ <details key="start" value="530"/>
+ <details key="end" value="539"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.6" references="/0/defaultValue/%/%.2">
+ <details key="start" value="490"/>
+ <details key="end" value="525"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.7" references="/0/defaultValue/%/%.2/%">
+ <details key="start" value="490"/>
+ <details key="end" value="512"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.8" references="/0/defaultValue/%/%.2/%/%">
+ <details key="start" value="491"/>
+ <details key="end" value="503"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/%/%.1">
+ <details key="start" value="507"/>
+ <details key="end" value="511"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%.1">
+ <details key="start" value="517"/>
+ <details key="end" value="525"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.12" references="/0/defaultValue/%/%.2/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.13" references="/0/defaultValue/attribute">
+ <details key="start" value="463"/>
+ <details key="end" value="483"/>
+ <details key="line" value="9"/>
+ </eAnnotations>
+ <eAnnotations source="positions.14" references="/0/staticValue">
+ <details key="start" value="588"/>
+ <details key="end" value="689"/>
+ <details key="line" value="14"/>
+ </eAnnotations>
+ <eAnnotations source="positions.15" references="/0/staticValue/%">
+ <details key="start" value="640"/>
+ <details key="end" value="677"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.16" references="/0/staticValue/%/%">
+ <details key="start" value="665"/>
+ <details key="end" value="672"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.17" references="/0/staticValue/%/%.1">
+ <details key="start" value="644"/>
+ <details key="end" value="664"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.18" references="/0/staticValue/%/%.1/attribute">
+ <details key="start" value="645"/>
+ <details key="end" value="654"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.19" references="/0/staticValue/attribute">
+ <details key="start" value="617"/>
+ <details key="end" value="637"/>
+ <details key="line" value="14"/>
+ </eAnnotations>
+ <eAnnotations source="positions.20" references="/0/CppAttributeDeclaration">
+ <details key="start" value="692"/>
+ <details key="end" value="962"/>
+ <details key="line" value="19"/>
+ </eAnnotations>
+ <eAnnotations source="positions.21" references="/0/CppAttributeDeclaration/%">
+ <details key="start" value="757"/>
+ <details key="end" value="772"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.22" references="/0/CppAttributeDeclaration/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.23" references="/0/CppAttributeDeclaration/%.1">
+ <details key="start" value="774"/>
+ <details key="end" value="775"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.24" references="/0/CppAttributeDeclaration/%.2">
+ <details key="start" value="776"/>
+ <details key="end" value="789"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.25" references="/0/CppAttributeDeclaration/%.2/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.26" references="/0/CppAttributeDeclaration/%.3">
+ <details key="start" value="792"/>
+ <details key="end" value="802"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.27" references="/0/CppAttributeDeclaration/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.28" references="/0/CppAttributeDeclaration/%.4">
+ <details key="start" value="805"/>
+ <details key="end" value="838"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.29" references="/0/CppAttributeDeclaration/%.4/%">
+ <details key="start" value="805"/>
+ <details key="end" value="819"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.30" references="/0/CppAttributeDeclaration/%.4/%/attribute">
+ <details key="start" value="805"/>
+ <details key="end" value="814"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.31" references="/0/CppAttributeDeclaration/%.5">
+ <details key="start" value="841"/>
+ <details key="end" value="849"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.32" references="/0/CppAttributeDeclaration/%.5/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.33" references="/0/CppAttributeDeclaration/%.6">
+ <details key="start" value="852"/>
+ <details key="end" value="860"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.34" references="/0/CppAttributeDeclaration/%.6/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.35" references="/0/CppAttributeDeclaration/%.7">
+ <details key="start" value="862"/>
+ <details key="end" value="863"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.36" references="/0/CppAttributeDeclaration/%.8">
+ <details key="start" value="864"/>
+ <details key="end" value="878"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.37" references="/0/CppAttributeDeclaration/%.8/attribute">
+ <details key="start" value="864"/>
+ <details key="end" value="873"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.38" references="/0/CppAttributeDeclaration/%.9">
+ <details key="start" value="881"/>
+ <details key="end" value="891"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.39" references="/0/CppAttributeDeclaration/%.9/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.40" references="/0/CppAttributeDeclaration/%.10">
+ <details key="start" value="893"/>
+ <details key="end" value="949"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.41" references="/0/CppAttributeDeclaration/%.10/%">
+ <details key="start" value="928"/>
+ <details key="end" value="942"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.42" references="/0/CppAttributeDeclaration/%.10/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.43" references="/0/CppAttributeDeclaration/%.10/%.1">
+ <details key="start" value="897"/>
+ <details key="end" value="926"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.44" references="/0/CppAttributeDeclaration/%.10/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.45" references="/0/CppAttributeDeclaration/%.10/%.1/%">
+ <details key="start" value="912"/>
+ <details key="end" value="924"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.46" references="/0/CppAttributeDeclaration/%.11">
+ <details key="start" value="949"/>
+ <details key="end" value="950"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.47" references="/0/CppAttributeDeclaration/attribute">
+ <details key="start" value="733"/>
+ <details key="end" value="753"/>
+ <details key="line" value="19"/>
+ </eAnnotations>
+ <eAnnotations source="positions.48" references="/0/CppAttributeImplementation">
+ <details key="start" value="965"/>
+ <details key="end" value="1168"/>
+ <details key="line" value="25"/>
+ </eAnnotations>
+ <eAnnotations source="positions.49" references="/0/CppAttributeImplementation/%">
+ <details key="start" value="1032"/>
+ <details key="end" value="1033"/>
+ <details key="line" value="26"/>
+ </eAnnotations>
+ <eAnnotations source="positions.50" references="/0/CppAttributeImplementation/%.1">
+ <details key="start" value="1034"/>
+ <details key="end" value="1049"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.51" references="/0/CppAttributeImplementation/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.52" references="/0/CppAttributeImplementation/%.2">
+ <details key="start" value="1051"/>
+ <details key="end" value="1053"/>
+ <details key="line" value="27"/>
+ </eAnnotations>
+ <eAnnotations source="positions.53" references="/0/CppAttributeImplementation/%.3">
+ <details key="start" value="1054"/>
+ <details key="end" value="1064"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.54" references="/0/CppAttributeImplementation/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.55" references="/0/CppAttributeImplementation/%.4">
+ <details key="start" value="1067"/>
+ <details key="end" value="1100"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.56" references="/0/CppAttributeImplementation/%.4/%">
+ <details key="start" value="1067"/>
+ <details key="end" value="1081"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.57" references="/0/CppAttributeImplementation/%.4/%/attribute">
+ <details key="start" value="1067"/>
+ <details key="end" value="1076"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.58" references="/0/CppAttributeImplementation/%.5">
+ <details key="start" value="1103"/>
+ <details key="end" value="1111"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.59" references="/0/CppAttributeImplementation/%.5/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.60" references="/0/CppAttributeImplementation/%.6">
+ <details key="start" value="1114"/>
+ <details key="end" value="1122"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.61" references="/0/CppAttributeImplementation/%.6/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.62" references="/0/CppAttributeImplementation/%.7">
+ <details key="start" value="1124"/>
+ <details key="end" value="1125"/>
+ <details key="line" value="27"/>
+ </eAnnotations>
+ <eAnnotations source="positions.63" references="/0/CppAttributeImplementation/%.8">
+ <details key="start" value="1126"/>
+ <details key="end" value="1140"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.64" references="/0/CppAttributeImplementation/%.8/attribute">
+ <details key="start" value="1126"/>
+ <details key="end" value="1135"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.65" references="/0/CppAttributeImplementation/%.9">
+ <details key="start" value="1143"/>
+ <details key="end" value="1153"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.66" references="/0/CppAttributeImplementation/%.9/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.67" references="/0/CppAttributeImplementation/%.10">
+ <details key="start" value="1155"/>
+ <details key="end" value="1156"/>
+ <details key="line" value="27"/>
+ </eAnnotations>
+ <eAnnotations source="positions.68" references="/0/CppAttributeImplementation/attribute">
+ <details key="start" value="1009"/>
+ <details key="end" value="1029"/>
+ <details key="line" value="25"/>
+ </eAnnotations>
+ <eAnnotations source="positions.69" references="/0/CppStaticAttributeImplementation">
+ <details key="start" value="1170"/>
+ <details key="end" value="1396"/>
+ <details key="line" value="30"/>
+ </eAnnotations>
+ <eAnnotations source="positions.70" references="/0/CppStaticAttributeImplementation/%">
+ <details key="start" value="1244"/>
+ <details key="end" value="1259"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.71" references="/0/CppStaticAttributeImplementation/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.72" references="/0/CppStaticAttributeImplementation/%.1">
+ <details key="start" value="1261"/>
+ <details key="end" value="1262"/>
+ <details key="line" value="32"/>
+ </eAnnotations>
+ <eAnnotations source="positions.73" references="/0/CppStaticAttributeImplementation/%.2">
+ <details key="start" value="1263"/>
+ <details key="end" value="1286"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.74" references="/0/CppStaticAttributeImplementation/%.2/%">
+ <details key="start" value="1263"/>
+ <details key="end" value="1267"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.75" references="/0/CppStaticAttributeImplementation/%.2/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.76" references="/0/CppStaticAttributeImplementation/%.3">
+ <details key="start" value="1289"/>
+ <details key="end" value="1297"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.77" references="/0/CppStaticAttributeImplementation/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.78" references="/0/CppStaticAttributeImplementation/%.4">
+ <details key="start" value="1300"/>
+ <details key="end" value="1308"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.79" references="/0/CppStaticAttributeImplementation/%.4/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.80" references="/0/CppStaticAttributeImplementation/%.5">
+ <details key="start" value="1310"/>
+ <details key="end" value="1311"/>
+ <details key="line" value="32"/>
+ </eAnnotations>
+ <eAnnotations source="positions.81" references="/0/CppStaticAttributeImplementation/%.6">
+ <details key="start" value="1312"/>
+ <details key="end" value="1332"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.82" references="/0/CppStaticAttributeImplementation/%.6/%">
+ <details key="start" value="1312"/>
+ <details key="end" value="1327"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.83" references="/0/CppStaticAttributeImplementation/%.6/%/attribute">
+ <details key="start" value="1312"/>
+ <details key="end" value="1321"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.84" references="/0/CppStaticAttributeImplementation/%.7">
+ <details key="start" value="1334"/>
+ <details key="end" value="1336"/>
+ <details key="line" value="32"/>
+ </eAnnotations>
+ <eAnnotations source="positions.85" references="/0/CppStaticAttributeImplementation/%.8">
+ <details key="start" value="1337"/>
+ <details key="end" value="1351"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.86" references="/0/CppStaticAttributeImplementation/%.8/attribute">
+ <details key="start" value="1337"/>
+ <details key="end" value="1346"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.87" references="/0/CppStaticAttributeImplementation/%.9">
+ <details key="start" value="1354"/>
+ <details key="end" value="1364"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.88" references="/0/CppStaticAttributeImplementation/%.9/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.89" references="/0/CppStaticAttributeImplementation/%.10">
+ <details key="start" value="1367"/>
+ <details key="end" value="1381"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.90" references="/0/CppStaticAttributeImplementation/%.10/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.91" references="/0/CppStaticAttributeImplementation/%.11">
+ <details key="start" value="1383"/>
+ <details key="end" value="1384"/>
+ <details key="line" value="32"/>
+ </eAnnotations>
+ <eAnnotations source="positions.92" references="/0/CppStaticAttributeImplementation/attribute">
+ <details key="start" value="1220"/>
+ <details key="end" value="1240"/>
+ <details key="line" value="30"/>
+ </eAnnotations>
+ <eAnnotations source="positions.93" references="/0/%">
+ <details key="start" value="1399"/>
+ <details key="end" value="1548"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.94" references="/0/CppStaticAttributes">
+ <details key="start" value="1550"/>
+ <details key="end" value="1787"/>
+ <details key="line" value="39"/>
+ </eAnnotations>
+ <eAnnotations source="positions.95" references="/0/CppStaticAttributes/%">
+ <details key="start" value="1614"/>
+ <details key="end" value="1637"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.96" references="/0/CppStaticAttributes/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.97" references="/0/CppStaticAttributes/%.1">
+ <details key="start" value="1639"/>
+ <details key="end" value="1640"/>
+ <details key="line" value="41"/>
+ </eAnnotations>
+ <eAnnotations source="positions.98" references="/0/CppStaticAttributes/%.2">
+ <details key="start" value="1640"/>
+ <details key="end" value="1775"/>
+ <details key="line" value="41"/>
+ </eAnnotations>
+ <eAnnotations source="positions.99" references="/0/CppStaticAttributes/%.2/%">
+ <details key="start" value="1670"/>
+ <details key="end" value="1768"/>
+ <details key="line" value="42"/>
+ </eAnnotations>
+ <eAnnotations source="positions.100" references="/0/CppStaticAttributes/%.2/%/%">
+ <details key="start" value="1724"/>
+ <details key="end" value="1758"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.101" references="/0/CppStaticAttributes/%.2/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.102" references="/0/CppStaticAttributes/%.2/%/%.1">
+ <details key="start" value="1760"/>
+ <details key="end" value="1762"/>
+ <details key="line" value="44"/>
+ </eAnnotations>
+ <eAnnotations source="positions.103" references="/0/CppStaticAttributes/%.2/%/%.2">
+ <details key="start" value="1673"/>
+ <details key="end" value="1721"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.104" references="/0/CppStaticAttributes/%.2/%/%.2/%">
+ <details key="start" value="1674"/>
+ <details key="end" value="1682"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.105" references="/0/CppStaticAttributes/%.2/%/%.2/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.106" references="/0/CppStaticAttributes/%.2/%/%.2/%.1">
+ <details key="start" value="1687"/>
+ <details key="end" value="1720"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.107" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%">
+ <details key="start" value="1692"/>
+ <details key="end" value="1719"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.108" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.109" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/%">
+ <details key="start" value="1706"/>
+ <details key="end" value="1718"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.110" references="/0/CppStaticAttributes/%.2/%.1">
+ <details key="start" value="1646"/>
+ <details key="end" value="1666"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.111" references="/0/CppStaticAttributes/%.2/%.1/classifier">
+ <details key="start" value="1646"/>
+ <details key="end" value="1656"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.112" references="/0/CppStaticAttributes/classifier">
+ <details key="start" value="1587"/>
+ <details key="end" value="1610"/>
+ <details key="line" value="39"/>
+ </eAnnotations>
+ </ecore:EAnnotation>
+</xmi:XMI>
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl
index 7227283ec0f..f7b8e72484c 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl
@@ -1,5 +1,6 @@
-[module CppAttribute('http://www.eclipse.org/uml2/4.0.0/UML')/]
-[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/]
+[module CppAttribute('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/]
[import org::eclipse::papyrus::cpp::codegen::utils::Modifier/]
[import org::eclipse::papyrus::cpp::codegen::acceleo::Constants/]
[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/]
@@ -17,18 +18,18 @@
[template public CppAttributeDeclaration(attribute : Property)]
[CppElementDoc()/]
-[staticValue()/][modConst()/][attribute.type.qualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/][if (hasStereotype(C_Cpp::Const))][defaultValue()/][/if];
+[staticValue()/][modConst()/][attribute.type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/][if (hasStereotype(C_Cpp::Const))][defaultValue()/][/if];
[/template]
[template public CppAttributeImplementation(attribute : Property)]
[CppElementDoc()/]
- [modConst()/][attribute.type.qualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/];
+ [modConst()/][attribute.type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/];
[/template]
[template public CppStaticAttributeImplementation(attribute : Property)]
[CppElementDoc()/]
-[type.qualifiedName()/][modPtr()/][modRef()/] [attribute.class.name/]::[attribute.name/][modArray()/][defaultValue()/];
+[type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.class.name/]::[attribute.name/][modArray()/][defaultValue()/];
[/template]
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl
index 49e817a4d4e..c222c6ba500 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl
@@ -1,487 +1,482 @@
-<?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="CppDocumentation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation" endHeaderPosition="65">
- <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="CppElementDoc" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**&#xA; * "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <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/getComments"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </argument>
- </source>
- <argument 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"/>
- </argument>
- <argument 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"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; */"/>
- <parameter name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDoc" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**&#xA; * "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <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/getComments"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </source>
- <argument 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"/>
- </argument>
- <argument 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"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; * "/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParamDoc">
- <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="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/12/OrderedSet(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/>
- </iterSet>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; */"/>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppParamDoc" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@param "/>
- <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="self" referredVariable="/22">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <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/getComments"/>
- <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#//Parameter"/>
- </argument>
- </source>
- <argument 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"/>
- </argument>
- <argument 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"/>
- </argument>
- </body>
- <parameter name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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="replaceAll">
- <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="substring">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="replacement">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </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="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppElementDoc"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOperationDoc"/>
- <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>
- <eOperations name="CppParamDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppParamDoc"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="getComments">
- <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/getComments"/>
- </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#//Element"/>
- </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="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="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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="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="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#//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>
- <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#//Operation"/>
- </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#//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>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eClassifiers>
- </ecore:EPackage>
- <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#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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="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#//Parameter"/>
- </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#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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/CppElementDoc">
- <details key="start" value="133"/>
- <details key="end" value="250"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppElementDoc/%">
- <details key="start" value="185"/>
- <details key="end" value="192"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppElementDoc/%.1">
- <details key="start" value="193"/>
- <details key="end" value="232"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppElementDoc/%.1/%">
- <details key="start" value="193"/>
- <details key="end" value="206"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppElementDoc/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppElementDoc/%.1/%.1">
- <details key="start" value="218"/>
- <details key="end" value="222"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppElementDoc/%.1/%.2">
- <details key="start" value="224"/>
- <details key="end" value="231"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppElementDoc/%.2">
- <details key="start" value="234"/>
- <details key="end" value="238"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppElementDoc/argument">
- <details key="start" value="164"/>
- <details key="end" value="182"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppOperationDoc">
- <details key="start" value="253"/>
- <details key="end" value="423"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppOperationDoc/%">
- <details key="start" value="310"/>
- <details key="end" value="317"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppOperationDoc/%.1">
- <details key="start" value="318"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppOperationDoc/%.1/%">
- <details key="start" value="318"/>
- <details key="end" value="331"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppOperationDoc/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppOperationDoc/%.1/%.1">
- <details key="start" value="343"/>
- <details key="end" value="347"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppOperationDoc/%.1/%.2">
- <details key="start" value="349"/>
- <details key="end" value="356"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppOperationDoc/%.2">
- <details key="start" value="359"/>
- <details key="end" value="363"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppOperationDoc/%.3">
- <details key="start" value="363"/>
- <details key="end" value="407"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppOperationDoc/%.3/%">
- <details key="start" value="386"/>
- <details key="end" value="399"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppOperationDoc/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppOperationDoc/%.3/%.1">
- <details key="start" value="369"/>
- <details key="end" value="383"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppOperationDoc/%.3/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppOperationDoc/%.4">
- <details key="start" value="407"/>
- <details key="end" value="411"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppOperationDoc/operation">
- <details key="start" value="286"/>
- <details key="end" value="307"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppParamDoc">
- <details key="start" value="426"/>
- <details key="end" value="551"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppParamDoc/%">
- <details key="start" value="479"/>
- <details key="end" value="486"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppParamDoc/%.1">
- <details key="start" value="487"/>
- <details key="end" value="491"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppParamDoc/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppParamDoc/%.2">
- <details key="start" value="493"/>
- <details key="end" value="494"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppParamDoc/%.3">
- <details key="start" value="495"/>
- <details key="end" value="537"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppParamDoc/%.3/%">
- <details key="start" value="495"/>
- <details key="end" value="508"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppParamDoc/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppParamDoc/%.3/%.1">
- <details key="start" value="520"/>
- <details key="end" value="524"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppParamDoc/%.3/%.2">
- <details key="start" value="526"/>
- <details key="end" value="536"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppParamDoc/parameter">
- <details key="start" value="455"/>
- <details key="end" value="476"/>
- <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="CppDocumentation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation" endHeaderPosition="65">
+ <input>
+ <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+ </input>
+ <imports href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppElementDoc" visibility="Public">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**&#xA; * "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
+ <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/getComments"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </argument>
+ </source>
+ <argument 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"/>
+ </argument>
+ <argument 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"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; */"/>
+ <parameter name="argument">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDoc" visibility="Public">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**&#xA; * "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
+ <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/getComments"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </source>
+ <argument 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"/>
+ </argument>
+ <argument 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"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; * "/>
+ <body xsi:type="mtl:ForBlock">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParamDoc">
+ <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="/15">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ </body>
+ <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/12/OrderedSet(Parameter)">
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </iterSet>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; */"/>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppParamDoc" visibility="Public">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@param "/>
+ <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="self" referredVariable="/22">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
+ <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/getComments"/>
+ <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#//Parameter"/>
+ </argument>
+ </source>
+ <argument 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"/>
+ </argument>
+ <argument 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"/>
+ </argument>
+ </body>
+ <parameter name="parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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="replaceAll">
+ <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="substring">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </eParameters>
+ <eParameters name="replacement">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </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="CppElementDoc">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppElementDoc"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="argument">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CppOperationDoc">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppOperationDoc"/>
+ <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>
+ <eOperations name="CppParamDoc">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppParamDoc"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="getComments">
+ <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/getComments"/>
+ </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#//Element"/>
+ </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="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="Parameter_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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="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="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>
+ </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>
+ <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#//Operation"/>
+ </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#//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>
+ <ecore:EPackage name="collections">
+ <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet">
+ <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <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#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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="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#//Parameter"/>
+ </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#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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/CppElementDoc">
+ <details key="start" value="121"/>
+ <details key="end" value="238"/>
+ <details key="line" value="5"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1" references="/0/CppElementDoc/%">
+ <details key="start" value="173"/>
+ <details key="end" value="180"/>
+ <details key="line" value="6"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2" references="/0/CppElementDoc/%.1">
+ <details key="start" value="181"/>
+ <details key="end" value="220"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.3" references="/0/CppElementDoc/%.1/%">
+ <details key="start" value="181"/>
+ <details key="end" value="194"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.4" references="/0/CppElementDoc/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.5" references="/0/CppElementDoc/%.1/%.1">
+ <details key="start" value="206"/>
+ <details key="end" value="210"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.6" references="/0/CppElementDoc/%.1/%.2">
+ <details key="start" value="212"/>
+ <details key="end" value="219"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.7" references="/0/CppElementDoc/%.2">
+ <details key="start" value="222"/>
+ <details key="end" value="226"/>
+ <details key="line" value="8"/>
+ </eAnnotations>
+ <eAnnotations source="positions.8" references="/0/CppElementDoc/argument">
+ <details key="start" value="152"/>
+ <details key="end" value="170"/>
+ <details key="line" value="5"/>
+ </eAnnotations>
+ <eAnnotations source="positions.9" references="/0/CppOperationDoc">
+ <details key="start" value="241"/>
+ <details key="end" value="411"/>
+ <details key="line" value="12"/>
+ </eAnnotations>
+ <eAnnotations source="positions.10" references="/0/CppOperationDoc/%">
+ <details key="start" value="298"/>
+ <details key="end" value="305"/>
+ <details key="line" value="13"/>
+ </eAnnotations>
+ <eAnnotations source="positions.11" references="/0/CppOperationDoc/%.1">
+ <details key="start" value="306"/>
+ <details key="end" value="345"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.12" references="/0/CppOperationDoc/%.1/%">
+ <details key="start" value="306"/>
+ <details key="end" value="319"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.13" references="/0/CppOperationDoc/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.14" references="/0/CppOperationDoc/%.1/%.1">
+ <details key="start" value="331"/>
+ <details key="end" value="335"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.15" references="/0/CppOperationDoc/%.1/%.2">
+ <details key="start" value="337"/>
+ <details key="end" value="344"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.16" references="/0/CppOperationDoc/%.2">
+ <details key="start" value="347"/>
+ <details key="end" value="351"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.17" references="/0/CppOperationDoc/%.3">
+ <details key="start" value="351"/>
+ <details key="end" value="395"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.18" references="/0/CppOperationDoc/%.3/%">
+ <details key="start" value="374"/>
+ <details key="end" value="387"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.19" references="/0/CppOperationDoc/%.3/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.20" references="/0/CppOperationDoc/%.3/%.1">
+ <details key="start" value="357"/>
+ <details key="end" value="371"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.21" references="/0/CppOperationDoc/%.3/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.22" references="/0/CppOperationDoc/%.4">
+ <details key="start" value="395"/>
+ <details key="end" value="399"/>
+ <details key="line" value="16"/>
+ </eAnnotations>
+ <eAnnotations source="positions.23" references="/0/CppOperationDoc/operation">
+ <details key="start" value="274"/>
+ <details key="end" value="295"/>
+ <details key="line" value="12"/>
+ </eAnnotations>
+ <eAnnotations source="positions.24" references="/0/CppParamDoc">
+ <details key="start" value="414"/>
+ <details key="end" value="539"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ <eAnnotations source="positions.25" references="/0/CppParamDoc/%">
+ <details key="start" value="467"/>
+ <details key="end" value="474"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.26" references="/0/CppParamDoc/%.1">
+ <details key="start" value="475"/>
+ <details key="end" value="479"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.27" references="/0/CppParamDoc/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.28" references="/0/CppParamDoc/%.2">
+ <details key="start" value="481"/>
+ <details key="end" value="482"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.29" references="/0/CppParamDoc/%.3">
+ <details key="start" value="483"/>
+ <details key="end" value="525"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.30" references="/0/CppParamDoc/%.3/%">
+ <details key="start" value="483"/>
+ <details key="end" value="496"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.31" references="/0/CppParamDoc/%.3/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.32" references="/0/CppParamDoc/%.3/%.1">
+ <details key="start" value="508"/>
+ <details key="end" value="512"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.33" references="/0/CppParamDoc/%.3/%.2">
+ <details key="start" value="514"/>
+ <details key="end" value="524"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.34" references="/0/CppParamDoc/parameter">
+ <details key="start" value="443"/>
+ <details key="end" value="464"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ </ecore:EAnnotation>
+</xmi:XMI>
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl
index f5bb7f53e53..579035053b6 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl
@@ -1,5 +1,5 @@
[module CppDocumentation('http://www.eclipse.org/uml2/4.0.0/UML')/]
-[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/]
+[import org::eclipse::papyrus::acceleo::GenUtils/]
[template public CppElementDoc(argument : Element)]
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl
index 7fdf6613cf4..939f5b8dc40 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl
@@ -1,445 +1,440 @@
-<?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="CppEnumerations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations" endHeaderPosition="106">
- <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="CppDocumentation.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppEnumerationDefinition" visibility="Public">
- <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="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;enum "/>
- <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="enum" referredVariable="/0/CppEnumerationDefinition/enum">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </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:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#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="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;"/>
- <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="self" referredVariable="/12">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- <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="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </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#//CppInit/value"/>
- </body>
- <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.1"/>
- <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#//EnumerationLiteral"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </argument>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",&#xA;"/>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/8/OrderedSet(EnumerationLiteral)">
- <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#//Enumeration"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration/ownedLiteral"/>
- </iterSet>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="};&#xA;"/>
- <parameter name="enum">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </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="CppEnumerationDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppEnumerationDefinition"/>
- <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>
- <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="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="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="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>
- <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="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>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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#//Enumeration"/>
- </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#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(EnumerationLiteral)" instanceClassName="java.util.LinkedHashSet">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </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/CppEnumerationDefinition">
- <details key="start" value="252"/>
- <details key="end" value="513"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppEnumerationDefinition/%">
- <details key="start" value="316"/>
- <details key="end" value="331"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppEnumerationDefinition/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppEnumerationDefinition/%.1">
- <details key="start" value="333"/>
- <details key="end" value="339"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppEnumerationDefinition/%.2">
- <details key="start" value="340"/>
- <details key="end" value="349"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppEnumerationDefinition/%.2/enum">
- <details key="start" value="340"/>
- <details key="end" value="344"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppEnumerationDefinition/%.3">
- <details key="start" value="351"/>
- <details key="end" value="354"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppEnumerationDefinition/%.4">
- <details key="start" value="354"/>
- <details key="end" value="497"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppEnumerationDefinition/%.4/%">
- <details key="start" value="375"/>
- <details key="end" value="376"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppEnumerationDefinition/%.4/%.1">
- <details key="start" value="377"/>
- <details key="end" value="392"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppEnumerationDefinition/%.4/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppEnumerationDefinition/%.4/%.2">
- <details key="start" value="394"/>
- <details key="end" value="396"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppEnumerationDefinition/%.4/%.3">
- <details key="start" value="397"/>
- <details key="end" value="401"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppEnumerationDefinition/%.4/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppEnumerationDefinition/%.4/%.4">
- <details key="start" value="403"/>
- <details key="end" value="489"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppEnumerationDefinition/%.4/%.4/%">
- <details key="start" value="430"/>
- <details key="end" value="433"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppEnumerationDefinition/%.4/%.4/%.1">
- <details key="start" value="434"/>
- <details key="end" value="482"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%">
- <details key="start" value="434"/>
- <details key="end" value="476"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%">
- <details key="start" value="434"/>
- <details key="end" value="457"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/%">
- <details key="start" value="449"/>
- <details key="end" value="456"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%.1">
- <details key="start" value="468"/>
- <details key="end" value="475"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppEnumerationDefinition/%.4/%.4/%.2">
- <details key="start" value="407"/>
- <details key="end" value="429"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/%">
- <details key="start" value="421"/>
- <details key="end" value="428"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppEnumerationDefinition/%.4/%.5">
- <details key="start" value="489"/>
- <details key="end" value="491"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppEnumerationDefinition/%.4/%.6">
- <details key="start" value="360"/>
- <details key="end" value="372"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppEnumerationDefinition/%.4/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppEnumerationDefinition/%.5">
- <details key="start" value="498"/>
- <details key="end" value="501"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppEnumerationDefinition/enum">
- <details key="start" value="294"/>
- <details key="end" value="312"/>
- <details key="line" value="5"/>
- </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="CppEnumerations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations" endHeaderPosition="106">
+ <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="CppDocumentation.emtl#/0"/>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppEnumerationDefinition" visibility="Public">
+ <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="CppDocumentation.emtl#/0/CppElementDoc"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;enum "/>
+ <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="enum" referredVariable="/0/CppEnumerationDefinition/enum">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
+ </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:ForBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#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="CppDocumentation.emtl#/0/CppElementDoc"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;"/>
+ <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="self" referredVariable="/12">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </body>
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
+ <body xsi:type="ocl.ecore:PropertyCallExp">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+ <source xsi:type="ocl.ecore:OperationCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
+ <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="/15">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
+ </argument>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
+ </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#//CppInit/value"/>
+ </body>
+ <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.1"/>
+ <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#//EnumerationLiteral"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
+ </argument>
+ </ifExpr>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",&#xA;"/>
+ <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/8/OrderedSet(EnumerationLiteral)">
+ <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#//Enumeration"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration/ownedLiteral"/>
+ </iterSet>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="};&#xA;"/>
+ <parameter name="enum">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
+ </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="CppEnumerationDefinition">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppEnumerationDefinition"/>
+ <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>
+ <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="CppElementDoc">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="argument">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </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="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>
+ <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="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="Parameter_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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#//Enumeration"/>
+ </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#//Enumeration"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="collections">
+ <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(EnumerationLiteral)" instanceClassName="java.util.LinkedHashSet">
+ <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="types">
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
+ </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/CppEnumerationDefinition">
+ <details key="start" value="240"/>
+ <details key="end" value="501"/>
+ <details key="line" value="5"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1" references="/0/CppEnumerationDefinition/%">
+ <details key="start" value="304"/>
+ <details key="end" value="319"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2" references="/0/CppEnumerationDefinition/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.3" references="/0/CppEnumerationDefinition/%.1">
+ <details key="start" value="321"/>
+ <details key="end" value="327"/>
+ <details key="line" value="7"/>
+ </eAnnotations>
+ <eAnnotations source="positions.4" references="/0/CppEnumerationDefinition/%.2">
+ <details key="start" value="328"/>
+ <details key="end" value="337"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.5" references="/0/CppEnumerationDefinition/%.2/enum">
+ <details key="start" value="328"/>
+ <details key="end" value="332"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.6" references="/0/CppEnumerationDefinition/%.3">
+ <details key="start" value="339"/>
+ <details key="end" value="342"/>
+ <details key="line" value="7"/>
+ </eAnnotations>
+ <eAnnotations source="positions.7" references="/0/CppEnumerationDefinition/%.4">
+ <details key="start" value="342"/>
+ <details key="end" value="485"/>
+ <details key="line" value="8"/>
+ </eAnnotations>
+ <eAnnotations source="positions.8" references="/0/CppEnumerationDefinition/%.4/%">
+ <details key="start" value="363"/>
+ <details key="end" value="364"/>
+ <details key="line" value="9"/>
+ </eAnnotations>
+ <eAnnotations source="positions.9" references="/0/CppEnumerationDefinition/%.4/%.1">
+ <details key="start" value="365"/>
+ <details key="end" value="380"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.10" references="/0/CppEnumerationDefinition/%.4/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.11" references="/0/CppEnumerationDefinition/%.4/%.2">
+ <details key="start" value="382"/>
+ <details key="end" value="384"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.12" references="/0/CppEnumerationDefinition/%.4/%.3">
+ <details key="start" value="385"/>
+ <details key="end" value="389"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.13" references="/0/CppEnumerationDefinition/%.4/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.14" references="/0/CppEnumerationDefinition/%.4/%.4">
+ <details key="start" value="391"/>
+ <details key="end" value="477"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.15" references="/0/CppEnumerationDefinition/%.4/%.4/%">
+ <details key="start" value="418"/>
+ <details key="end" value="421"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.16" references="/0/CppEnumerationDefinition/%.4/%.4/%.1">
+ <details key="start" value="422"/>
+ <details key="end" value="470"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.17" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%">
+ <details key="start" value="422"/>
+ <details key="end" value="464"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.18" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%">
+ <details key="start" value="422"/>
+ <details key="end" value="445"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.19" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.20" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/%">
+ <details key="start" value="437"/>
+ <details key="end" value="444"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.21" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%.1">
+ <details key="start" value="456"/>
+ <details key="end" value="463"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.22" references="/0/CppEnumerationDefinition/%.4/%.4/%.2">
+ <details key="start" value="395"/>
+ <details key="end" value="417"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.23" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.24" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/%">
+ <details key="start" value="409"/>
+ <details key="end" value="416"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.25" references="/0/CppEnumerationDefinition/%.4/%.5">
+ <details key="start" value="477"/>
+ <details key="end" value="479"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.26" references="/0/CppEnumerationDefinition/%.4/%.6">
+ <details key="start" value="348"/>
+ <details key="end" value="360"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.27" references="/0/CppEnumerationDefinition/%.4/%.6/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.28" references="/0/CppEnumerationDefinition/%.5">
+ <details key="start" value="486"/>
+ <details key="end" value="489"/>
+ <details key="line" value="12"/>
+ </eAnnotations>
+ <eAnnotations source="positions.29" references="/0/CppEnumerationDefinition/enum">
+ <details key="start" value="282"/>
+ <details key="end" value="300"/>
+ <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/CppEnumerations.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl
index 75f027b6d16..852bd3fac7e 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl
@@ -1,5 +1,5 @@
[module CppEnumerations('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::CppDocumentation/]
[template public CppEnumerationDefinition(enum : Enumeration)]
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl
index 165b36a831e..47df8103f0d 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl
@@ -1,531 +1,532 @@
-<?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="CppPrimitiveTypes" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppPrimitiveTypes" endHeaderPosition="108">
- <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="CppDocumentation.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="263" endPosition="1077" value="&#xA; * Support two different kinds of primitive types&#xA; * (1) those that are native types of the programming language such as long&#xA; * For these, no additional definition has to be done and they should be referenced&#xA; * with their name only&#xA; * (2) those that correspond to a typedef (e.g. typedef long ErrorType). These require&#xA; * a typedef definition within the package and need to be referenced with their&#xA; * fully qualified name (e.g. MyPackage::ErrorType)&#xA; * (3) Sometimes the name of the type defined by a typedef does not appear at the end, e.g.&#xA; * when defining functionPointers such as &quot;typedef int (*HandlerFct) (void*);&quot;&#xA; *&#x9; (a function with a void* argument returning int)&#xA; * Support this case via a specific 'typeName' constant that gets replaced by the name of the&#xA; * type&#xA; */&#xA;"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppPrimitiveTypeDefinition" visibility="Public">
- <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="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typedef "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source 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#//Typedef"/>
- <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#//PrimitiveType"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </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#//Typedef/definition"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <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="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </argument>
- </body>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <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="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </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" referredOperation="/1/String_Class/contains">
- <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="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#//Typedef"/>
- <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="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </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#//Typedef/definition"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xA;"/>
- <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.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- </ifExpr>
- <else>
- <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/getStdtypes"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xA;"/>
- </else>
- </body>
- <parameter name="primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </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="replaceAll">
- <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="substring">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="replacement">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="contains">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="substring">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </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="CppPrimitiveTypeDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppPrimitiveTypeDefinition"/>
- <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="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="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="getStdtypes">
- <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/getStdtypes"/>
- </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#//PrimitiveType"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="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="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="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="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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#//PrimitiveType"/>
- </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#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </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="255"/>
- <details key="end" value="1079"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppPrimitiveTypeDefinition">
- <details key="start" value="1080"/>
- <details key="end" value="1483"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppPrimitiveTypeDefinition/%">
- <details key="start" value="1157"/>
- <details key="end" value="1172"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppPrimitiveTypeDefinition/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppPrimitiveTypeDefinition/%.1">
- <details key="start" value="1174"/>
- <details key="end" value="1175"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppPrimitiveTypeDefinition/%.2">
- <details key="start" value="1175"/>
- <details key="end" value="1471"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppPrimitiveTypeDefinition/%.2/%">
- <details key="start" value="1205"/>
- <details key="end" value="1213"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppPrimitiveTypeDefinition/%.2/%.1">
- <details key="start" value="1214"/>
- <details key="end" value="1310"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%">
- <details key="start" value="1214"/>
- <details key="end" value="1267"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%">
- <details key="start" value="1214"/>
- <details key="end" value="1256"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%">
- <details key="start" value="1214"/>
- <details key="end" value="1237"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/%">
- <details key="start" value="1229"/>
- <details key="end" value="1236"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%.1">
- <details key="start" value="1248"/>
- <details key="end" value="1255"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.1">
- <details key="start" value="1279"/>
- <details key="end" value="1289"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2">
- <details key="start" value="1291"/>
- <details key="end" value="1309"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2/primitiveType">
- <details key="start" value="1291"/>
- <details key="end" value="1304"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppPrimitiveTypeDefinition/%.2/%.2">
- <details key="start" value="1314"/>
- <details key="end" value="1426"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%">
- <details key="start" value="1399"/>
- <details key="end" value="1400"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1">
- <details key="start" value="1401"/>
- <details key="end" value="1419"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1/primitiveType">
- <details key="start" value="1401"/>
- <details key="end" value="1414"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2">
- <details key="start" value="1318"/>
- <details key="end" value="1398"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%">
- <details key="start" value="1323"/>
- <details key="end" value="1397"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%">
- <details key="start" value="1323"/>
- <details key="end" value="1376"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%">
- <details key="start" value="1323"/>
- <details key="end" value="1365"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%">
- <details key="start" value="1323"/>
- <details key="end" value="1346"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/%">
- <details key="start" value="1338"/>
- <details key="end" value="1345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%.1">
- <details key="start" value="1357"/>
- <details key="end" value="1364"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%.1">
- <details key="start" value="1386"/>
- <details key="end" value="1396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppPrimitiveTypeDefinition/%.2/%.3">
- <details key="start" value="1426"/>
- <details key="end" value="1428"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppPrimitiveTypeDefinition/%.2/%.4">
- <details key="start" value="1179"/>
- <details key="end" value="1203"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/%">
- <details key="start" value="1194"/>
- <details key="end" value="1201"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppPrimitiveTypeDefinition/%.2/%.5">
- <details key="start" value="1428"/>
- <details key="end" value="1466"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%">
- <details key="start" value="1436"/>
- <details key="end" value="1462"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%/primitiveType">
- <details key="start" value="1448"/>
- <details key="end" value="1461"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%.1">
- <details key="start" value="1464"/>
- <details key="end" value="1466"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppPrimitiveTypeDefinition/primitiveType">
- <details key="start" value="1124"/>
- <details key="end" value="1153"/>
- <details key="line" value="21"/>
- </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="CppPrimitiveTypes" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppPrimitiveTypes" endHeaderPosition="108">
+ <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="CppDocumentation.emtl#/0"/>
+ <ownedModuleElement xsi:type="mtl:Comment">
+ <body startPosition="317" endPosition="1131" value="&#xA; * Support two different kinds of primitive types&#xA; * (1) those that are native types of the programming language such as long&#xA; * For these, no additional definition has to be done and they should be referenced&#xA; * with their name only&#xA; * (2) those that correspond to a typedef (e.g. typedef long ErrorType). These require&#xA; * a typedef definition within the package and need to be referenced with their&#xA; * fully qualified name (e.g. MyPackage::ErrorType)&#xA; * (3) Sometimes the name of the type defined by a typedef does not appear at the end, e.g.&#xA; * when defining functionPointers such as &quot;typedef int (*HandlerFct) (void*);&quot;&#xA; *&#x9; (a function with a void* argument returning int)&#xA; * Support this case via a specific 'typeName' constant that gets replaced by the name of the&#xA; * type&#xA; */&#xA;"/>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppPrimitiveTypeDefinition" visibility="Public">
+ <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="CppDocumentation.emtl#/0/CppElementDoc"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typedef "/>
+ <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <source 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#//Typedef"/>
+ <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#//PrimitiveType"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
+ </argument>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
+ </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#//Typedef/definition"/>
+ </source>
+ <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ <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="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
+ <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="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </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" referredOperation="/1/String_Class/contains">
+ <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="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#//Typedef"/>
+ <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="/10">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
+ </argument>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
+ </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#//Typedef/definition"/>
+ </source>
+ <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ </source>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
+ </ifExpr>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xA;"/>
+ <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.1"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
+ </argument>
+ </ifExpr>
+ <else>
+ <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/getStdtypes"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xA;"/>
+ </else>
+ </body>
+ <parameter name="primitiveType">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </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="replaceAll">
+ <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="substring">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </eParameters>
+ <eParameters name="replacement">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="contains">
+ <eAnnotations source="MTL non-standard"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <eParameters name="substring">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </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="CppPrimitiveTypeDefinition">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppPrimitiveTypeDefinition"/>
+ <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="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="getStdtypes">
+ <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/getStdtypes"/>
+ </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#//PrimitiveType"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CppElementDoc">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="argument">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </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="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="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="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="Parameter_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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#//PrimitiveType"/>
+ </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#//PrimitiveType"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="types">
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="Typedef">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
+ </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="309"/>
+ <details key="end" value="1133"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1" references="/0/CppPrimitiveTypeDefinition">
+ <details key="start" value="1134"/>
+ <details key="end" value="1537"/>
+ <details key="line" value="22"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2" references="/0/CppPrimitiveTypeDefinition/%">
+ <details key="start" value="1211"/>
+ <details key="end" value="1226"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.3" references="/0/CppPrimitiveTypeDefinition/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.4" references="/0/CppPrimitiveTypeDefinition/%.1">
+ <details key="start" value="1228"/>
+ <details key="end" value="1229"/>
+ <details key="line" value="24"/>
+ </eAnnotations>
+ <eAnnotations source="positions.5" references="/0/CppPrimitiveTypeDefinition/%.2">
+ <details key="start" value="1229"/>
+ <details key="end" value="1525"/>
+ <details key="line" value="24"/>
+ </eAnnotations>
+ <eAnnotations source="positions.6" references="/0/CppPrimitiveTypeDefinition/%.2/%">
+ <details key="start" value="1259"/>
+ <details key="end" value="1267"/>
+ <details key="line" value="25"/>
+ </eAnnotations>
+ <eAnnotations source="positions.7" references="/0/CppPrimitiveTypeDefinition/%.2/%.1">
+ <details key="start" value="1268"/>
+ <details key="end" value="1364"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.8" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%">
+ <details key="start" value="1268"/>
+ <details key="end" value="1321"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.9" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%">
+ <details key="start" value="1268"/>
+ <details key="end" value="1310"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.10" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%">
+ <details key="start" value="1268"/>
+ <details key="end" value="1291"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.11" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.12" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/%">
+ <details key="start" value="1283"/>
+ <details key="end" value="1290"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.13" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%.1">
+ <details key="start" value="1302"/>
+ <details key="end" value="1309"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.14" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.1">
+ <details key="start" value="1333"/>
+ <details key="end" value="1343"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.15" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2">
+ <details key="start" value="1345"/>
+ <details key="end" value="1363"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.16" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2/primitiveType">
+ <details key="start" value="1345"/>
+ <details key="end" value="1358"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.17" references="/0/CppPrimitiveTypeDefinition/%.2/%.2">
+ <details key="start" value="1368"/>
+ <details key="end" value="1480"/>
+ <details key="line" value="26"/>
+ </eAnnotations>
+ <eAnnotations source="positions.18" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%">
+ <details key="start" value="1453"/>
+ <details key="end" value="1454"/>
+ <details key="line" value="26"/>
+ </eAnnotations>
+ <eAnnotations source="positions.19" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1">
+ <details key="start" value="1455"/>
+ <details key="end" value="1473"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.20" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1/primitiveType">
+ <details key="start" value="1455"/>
+ <details key="end" value="1468"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.21" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2">
+ <details key="start" value="1372"/>
+ <details key="end" value="1452"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.22" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%">
+ <details key="start" value="1377"/>
+ <details key="end" value="1451"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.23" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%">
+ <details key="start" value="1377"/>
+ <details key="end" value="1430"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.24" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%">
+ <details key="start" value="1377"/>
+ <details key="end" value="1419"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.25" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%">
+ <details key="start" value="1377"/>
+ <details key="end" value="1400"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.26" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.27" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/%">
+ <details key="start" value="1392"/>
+ <details key="end" value="1399"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.28" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%.1">
+ <details key="start" value="1411"/>
+ <details key="end" value="1418"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.29" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%.1">
+ <details key="start" value="1440"/>
+ <details key="end" value="1450"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.30" references="/0/CppPrimitiveTypeDefinition/%.2/%.3">
+ <details key="start" value="1480"/>
+ <details key="end" value="1482"/>
+ <details key="line" value="26"/>
+ </eAnnotations>
+ <eAnnotations source="positions.31" references="/0/CppPrimitiveTypeDefinition/%.2/%.4">
+ <details key="start" value="1233"/>
+ <details key="end" value="1257"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.32" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.33" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/%">
+ <details key="start" value="1248"/>
+ <details key="end" value="1255"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.34" references="/0/CppPrimitiveTypeDefinition/%.2/%.5">
+ <details key="start" value="1482"/>
+ <details key="end" value="1520"/>
+ <details key="line" value="27"/>
+ </eAnnotations>
+ <eAnnotations source="positions.35" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%">
+ <details key="start" value="1490"/>
+ <details key="end" value="1516"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.36" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%/primitiveType">
+ <details key="start" value="1502"/>
+ <details key="end" value="1515"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.37" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%.1">
+ <details key="start" value="1518"/>
+ <details key="end" value="1520"/>
+ <details key="line" value="28"/>
+ </eAnnotations>
+ <eAnnotations source="positions.38" references="/0/CppPrimitiveTypeDefinition/primitiveType">
+ <details key="start" value="1178"/>
+ <details key="end" value="1207"/>
+ <details key="line" value="22"/>
+ </eAnnotations>
+ </ecore:EAnnotation>
+</xmi:XMI>
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl
index e8adc6eb5c6..6302902bbc0 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl
@@ -1,5 +1,6 @@
[module CppPrimitiveTypes('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::acceleo::util::CppDocumentation/]
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl
index a7270984353..65fb68d29d7 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl
@@ -1,839 +1,840 @@
-<?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="CppTemplates" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates" endHeaderPosition="61">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Query" name="CppTemplateBindingParameter" visibility="Public">
- <parameter name="tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <condition 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#//ParameterableElement"/>
- <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </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/Integer"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/>
- <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- </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#//LiteralInteger/value"/>
- </thenExpression>
- <elseExpression 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/uml2/4.0.0/UML#//NamedElement"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/>
- <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </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/name"/>
- </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:Query" name="isTemplate" visibility="Public">
- <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: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="/8/Collection(TemplateParameter)">
- <definition href="../../utils/GenUtils.emtl#/0/getTemplateParameters"/>
- <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#//Classifier"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(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"/>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="templateSignature" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template&lt;"/>
- <body xsi:type="mtl:ForBlock">
- <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/getType"/>
- <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#//TemplateParameter"/>
- </argument>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)">
- <definition href="../../utils/GenUtils.emtl#/0/getTemplateParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">&#xA;"/>
- <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <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>
- </ifExpr>
- </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="templateShortSignature" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;"/>
- <body xsi:type="mtl:ForBlock">
- <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/getName"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </argument>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)">
- <definition href="../../utils/GenUtils.emtl#/0/getTemplateParameters"/>
- <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>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="> "/>
- <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </ifExpr>
- </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="templateSignature" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/templateSignature">
- <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#//Classifier"/>
- <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="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </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="/4/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>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="templateShortSignature" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/templateShortSignature">
- <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#//Classifier"/>
- <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="self" referredVariable="/41">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </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="/4/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>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </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="CppTemplateBindingParameter">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppTemplateBindingParameter"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eParameters>
- </eOperations>
- <eOperations name="isTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/isTemplate"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateSignature"/>
- <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="templateShortSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateShortSignature"/>
- <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="templateSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateSignature.1"/>
- <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>
- <eOperations name="templateShortSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateShortSignature.1"/>
- <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>
- <eOperations name="getName">
- <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/getName"/>
- </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#//TemplateParameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="getType">
- <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/getType"/>
- </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#//TemplateParameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="getTemplateParameters">
- <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/getTemplateParameters"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:CollectionType" href="../../utils/GenUtils.emtl#/3/Collection(TemplateParameter)"/>
- <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="TemplateParameterSubstitution_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </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="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="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#//TemplateParameterSubstitution"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="LiteralInteger">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </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#//TemplateParameterSubstitution"/>
- </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>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(TemplateParameter)">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </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#//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#//TemplateParameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </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>
- <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#//TemplateParameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </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>
- <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="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#//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/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#//Operation"/>
- </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#//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/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppTemplateBindingParameter">
- <details key="start" value="129"/>
- <details key="end" value="366"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppTemplateBindingParameter/tps">
- <details key="start" value="171"/>
- <details key="end" value="206"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppTemplateBindingParameter/%">
- <details key="start" value="219"/>
- <details key="end" value="363"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppTemplateBindingParameter/%/%">
- <details key="start" value="222"/>
- <details key="end" value="262"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppTemplateBindingParameter/%/%/%">
- <details key="start" value="223"/>
- <details key="end" value="233"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppTemplateBindingParameter/%/%/%/tps">
- <details key="start" value="223"/>
- <details key="end" value="226"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppTemplateBindingParameter/%/%/%.1">
- <details key="start" value="246"/>
- <details key="end" value="260"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppTemplateBindingParameter/%/%.1">
- <details key="start" value="269"/>
- <details key="end" value="311"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppTemplateBindingParameter/%/%.1/%">
- <details key="start" value="269"/>
- <details key="end" value="305"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppTemplateBindingParameter/%/%.1/%/%">
- <details key="start" value="269"/>
- <details key="end" value="279"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppTemplateBindingParameter/%/%.1/%/%/tps">
- <details key="start" value="269"/>
- <details key="end" value="272"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppTemplateBindingParameter/%/%.1/%/%.1">
- <details key="start" value="290"/>
- <details key="end" value="304"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppTemplateBindingParameter/%/%.2">
- <details key="start" value="318"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppTemplateBindingParameter/%/%.2/%">
- <details key="start" value="318"/>
- <details key="end" value="352"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppTemplateBindingParameter/%/%.2/%/%">
- <details key="start" value="318"/>
- <details key="end" value="328"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppTemplateBindingParameter/%/%.2/%/%/tps">
- <details key="start" value="318"/>
- <details key="end" value="321"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppTemplateBindingParameter/%/%.2/%/%.1">
- <details key="start" value="339"/>
- <details key="end" value="351"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/isTemplate">
- <details key="start" value="368"/>
- <details key="end" value="464"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/isTemplate/class">
- <details key="start" value="393"/>
- <details key="end" value="411"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/isTemplate/%">
- <details key="start" value="426"/>
- <details key="end" value="461"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/isTemplate/%/%">
- <details key="start" value="426"/>
- <details key="end" value="457"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/isTemplate/%/%/%">
- <details key="start" value="426"/>
- <details key="end" value="449"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/isTemplate/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/isTemplate/%/%.1">
- <details key="start" value="460"/>
- <details key="end" value="461"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/templateSignature">
- <details key="start" value="467"/>
- <details key="end" value="634"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/templateSignature/%">
- <details key="start" value="523"/>
- <details key="end" value="622"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/templateSignature/%/%">
- <details key="start" value="541"/>
- <details key="end" value="550"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/templateSignature/%/%.1">
- <details key="start" value="550"/>
- <details key="end" value="615"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/templateSignature/%/%.1/%">
- <details key="start" value="598"/>
- <details key="end" value="607"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/templateSignature/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/templateSignature/%/%.1/%.1">
- <details key="start" value="556"/>
- <details key="end" value="579"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/templateSignature/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/templateSignature/%/%.1/%.2">
- <details key="start" value="591"/>
- <details key="end" value="595"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/templateSignature/%/%.2">
- <details key="start" value="615"/>
- <details key="end" value="617"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/templateSignature/%/%.3">
- <details key="start" value="527"/>
- <details key="end" value="539"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/templateSignature/%/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/templateSignature/class">
- <details key="start" value="502"/>
- <details key="end" value="520"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/templateShortSignature">
- <details key="start" value="637"/>
- <details key="end" value="801"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/templateShortSignature/%">
- <details key="start" value="698"/>
- <details key="end" value="789"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/templateShortSignature/%/%">
- <details key="start" value="716"/>
- <details key="end" value="717"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/templateShortSignature/%/%.1">
- <details key="start" value="717"/>
- <details key="end" value="782"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/templateShortSignature/%/%.1/%">
- <details key="start" value="765"/>
- <details key="end" value="774"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/templateShortSignature/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/templateShortSignature/%/%.1/%.1">
- <details key="start" value="723"/>
- <details key="end" value="746"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/templateShortSignature/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/templateShortSignature/%/%.1/%.2">
- <details key="start" value="758"/>
- <details key="end" value="762"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/templateShortSignature/%/%.2">
- <details key="start" value="782"/>
- <details key="end" value="784"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/templateShortSignature/%/%.3">
- <details key="start" value="702"/>
- <details key="end" value="714"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/templateShortSignature/%/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/templateShortSignature/class">
- <details key="start" value="677"/>
- <details key="end" value="695"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/templateSignature.1">
- <details key="start" value="804"/>
- <details key="end" value="925"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/templateSignature.1/%">
- <details key="start" value="864"/>
- <details key="end" value="911"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/templateSignature.1/%/%">
- <details key="start" value="864"/>
- <details key="end" value="891"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/templateSignature.1/%/%/%">
- <details key="start" value="864"/>
- <details key="end" value="869"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/templateSignature.1/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/templateSignature.1/%/%/%.1">
- <details key="start" value="880"/>
- <details key="end" value="890"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/templateSignature.1/operation">
- <details key="start" value="839"/>
- <details key="end" value="860"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/templateShortSignature.1">
- <details key="start" value="928"/>
- <details key="end" value="1059"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/templateShortSignature.1/%">
- <details key="start" value="993"/>
- <details key="end" value="1045"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/templateShortSignature.1/%/%">
- <details key="start" value="993"/>
- <details key="end" value="1020"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/templateShortSignature.1/%/%/%">
- <details key="start" value="993"/>
- <details key="end" value="998"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/templateShortSignature.1/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/templateShortSignature.1/%/%/%.1">
- <details key="start" value="1009"/>
- <details key="end" value="1019"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/templateShortSignature.1/operation">
- <details key="start" value="968"/>
- <details key="end" value="989"/>
- <details key="line" value="36"/>
- </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="CppTemplates" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates" endHeaderPosition="61">
+ <input>
+ <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+ </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:Query" name="CppTemplateBindingParameter" visibility="Public">
+ <parameter name="tps">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
+ </parameter>
+ <expression xsi:type="ocl.ecore:IfExp">
+ <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
+ <condition 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#//ParameterableElement"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
+ </argument>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
+ </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/Integer"/>
+ <source xsi:type="ocl.ecore:OperationCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
+ <source xsi:type="ocl.ecore:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
+ </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#//LiteralInteger/value"/>
+ </thenExpression>
+ <elseExpression 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/uml2/4.0.0/UML#//NamedElement"/>
+ <source xsi:type="ocl.ecore:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/4/NamedElement">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
+ </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/name"/>
+ </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:Query" name="isTemplate" visibility="Public">
+ <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: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="/8/Collection(TemplateParameter)">
+ <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/>
+ <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#//Classifier"/>
+ </argument>
+ </source>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(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"/>
+ </expression>
+ <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="templateSignature" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template&lt;"/>
+ <body xsi:type="mtl:ForBlock">
+ <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/getTemplateTypeName"/>
+ <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#//TemplateParameter"/>
+ </argument>
+ </body>
+ <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)">
+ <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
+ </argument>
+ </iterSet>
+ <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </each>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">&#xA;"/>
+ <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <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>
+ </ifExpr>
+ </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="templateShortSignature" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;"/>
+ <body xsi:type="mtl:ForBlock">
+ <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/getTemplateName"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
+ </argument>
+ </body>
+ <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)">
+ <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/>
+ <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>
+ </iterSet>
+ <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </each>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="> "/>
+ <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
+ </argument>
+ </ifExpr>
+ </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="templateSignature" visibility="Public">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/templateSignature">
+ <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#//Classifier"/>
+ <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="self" referredVariable="/36">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </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="/4/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>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="templateShortSignature" visibility="Public">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/templateShortSignature">
+ <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#//Classifier"/>
+ <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="self" referredVariable="/41">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </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="/4/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>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </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="CppTemplateBindingParameter">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppTemplateBindingParameter"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="tps">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isTemplate">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/isTemplate"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <eParameters name="class">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="templateSignature">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/templateSignature"/>
+ <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="templateShortSignature">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/templateShortSignature"/>
+ <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="templateSignature">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/templateSignature.1"/>
+ <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>
+ <eOperations name="templateShortSignature">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/templateShortSignature.1"/>
+ <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>
+ <eOperations name="getTemplateName">
+ <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/getTemplateName"/>
+ </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#//TemplateParameter"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="getTemplateParameters">
+ <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/getTemplateParameters"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:CollectionType" href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Collection(TemplateParameter)"/>
+ <eParameters name="arg0">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="getTemplateTypeName">
+ <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/getTemplateTypeName"/>
+ </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#//TemplateParameter"/>
+ </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="TemplateParameterSubstitution_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
+ </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="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="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#//TemplateParameterSubstitution"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="types">
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="LiteralInteger">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
+ </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#//TemplateParameterSubstitution"/>
+ </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>
+ <ecore:EPackage name="collections">
+ <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(TemplateParameter)">
+ <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
+ </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#//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#//TemplateParameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
+ </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>
+ <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#//TemplateParameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
+ </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>
+ <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="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#//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/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#//Operation"/>
+ </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#//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/emf/2002/Ecore#//EObject"/>
+ </ocl.ecore:Variable>
+ <ecore:EAnnotation source="positions">
+ <eAnnotations source="positions.0" references="/0/CppTemplateBindingParameter">
+ <details key="start" value="183"/>
+ <details key="end" value="420"/>
+ <details key="line" value="6"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1" references="/0/CppTemplateBindingParameter/tps">
+ <details key="start" value="225"/>
+ <details key="end" value="260"/>
+ <details key="line" value="6"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2" references="/0/CppTemplateBindingParameter/%">
+ <details key="start" value="273"/>
+ <details key="end" value="417"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.3" references="/0/CppTemplateBindingParameter/%/%">
+ <details key="start" value="276"/>
+ <details key="end" value="316"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.4" references="/0/CppTemplateBindingParameter/%/%/%">
+ <details key="start" value="277"/>
+ <details key="end" value="287"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.5" references="/0/CppTemplateBindingParameter/%/%/%/tps">
+ <details key="start" value="277"/>
+ <details key="end" value="280"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.6" references="/0/CppTemplateBindingParameter/%/%/%.1">
+ <details key="start" value="300"/>
+ <details key="end" value="314"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.7" references="/0/CppTemplateBindingParameter/%/%.1">
+ <details key="start" value="323"/>
+ <details key="end" value="365"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.8" references="/0/CppTemplateBindingParameter/%/%.1/%">
+ <details key="start" value="323"/>
+ <details key="end" value="359"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.9" references="/0/CppTemplateBindingParameter/%/%.1/%/%">
+ <details key="start" value="323"/>
+ <details key="end" value="333"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.10" references="/0/CppTemplateBindingParameter/%/%.1/%/%/tps">
+ <details key="start" value="323"/>
+ <details key="end" value="326"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.11" references="/0/CppTemplateBindingParameter/%/%.1/%/%.1">
+ <details key="start" value="344"/>
+ <details key="end" value="358"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.12" references="/0/CppTemplateBindingParameter/%/%.2">
+ <details key="start" value="372"/>
+ <details key="end" value="411"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.13" references="/0/CppTemplateBindingParameter/%/%.2/%">
+ <details key="start" value="372"/>
+ <details key="end" value="406"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.14" references="/0/CppTemplateBindingParameter/%/%.2/%/%">
+ <details key="start" value="372"/>
+ <details key="end" value="382"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.15" references="/0/CppTemplateBindingParameter/%/%.2/%/%/tps">
+ <details key="start" value="372"/>
+ <details key="end" value="375"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.16" references="/0/CppTemplateBindingParameter/%/%.2/%/%.1">
+ <details key="start" value="393"/>
+ <details key="end" value="405"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.17" references="/0/isTemplate">
+ <details key="start" value="422"/>
+ <details key="end" value="518"/>
+ <details key="line" value="14"/>
+ </eAnnotations>
+ <eAnnotations source="positions.18" references="/0/isTemplate/class">
+ <details key="start" value="447"/>
+ <details key="end" value="465"/>
+ <details key="line" value="14"/>
+ </eAnnotations>
+ <eAnnotations source="positions.19" references="/0/isTemplate/%">
+ <details key="start" value="480"/>
+ <details key="end" value="515"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.20" references="/0/isTemplate/%/%">
+ <details key="start" value="480"/>
+ <details key="end" value="511"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.21" references="/0/isTemplate/%/%/%">
+ <details key="start" value="480"/>
+ <details key="end" value="503"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.22" references="/0/isTemplate/%/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.23" references="/0/isTemplate/%/%.1">
+ <details key="start" value="514"/>
+ <details key="end" value="515"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.24" references="/0/templateSignature">
+ <details key="start" value="521"/>
+ <details key="end" value="700"/>
+ <details key="line" value="19"/>
+ </eAnnotations>
+ <eAnnotations source="positions.25" references="/0/templateSignature/%">
+ <details key="start" value="577"/>
+ <details key="end" value="688"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ <eAnnotations source="positions.26" references="/0/templateSignature/%/%">
+ <details key="start" value="595"/>
+ <details key="end" value="604"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.27" references="/0/templateSignature/%/%.1">
+ <details key="start" value="604"/>
+ <details key="end" value="681"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.28" references="/0/templateSignature/%/%.1/%">
+ <details key="start" value="652"/>
+ <details key="end" value="673"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.29" references="/0/templateSignature/%/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.30" references="/0/templateSignature/%/%.1/%.1">
+ <details key="start" value="610"/>
+ <details key="end" value="633"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.31" references="/0/templateSignature/%/%.1/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.32" references="/0/templateSignature/%/%.1/%.2">
+ <details key="start" value="645"/>
+ <details key="end" value="649"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.33" references="/0/templateSignature/%/%.2">
+ <details key="start" value="681"/>
+ <details key="end" value="683"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.34" references="/0/templateSignature/%/%.3">
+ <details key="start" value="581"/>
+ <details key="end" value="593"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.35" references="/0/templateSignature/%/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.36" references="/0/templateSignature/class">
+ <details key="start" value="556"/>
+ <details key="end" value="574"/>
+ <details key="line" value="19"/>
+ </eAnnotations>
+ <eAnnotations source="positions.37" references="/0/templateShortSignature">
+ <details key="start" value="703"/>
+ <details key="end" value="875"/>
+ <details key="line" value="26"/>
+ </eAnnotations>
+ <eAnnotations source="positions.38" references="/0/templateShortSignature/%">
+ <details key="start" value="764"/>
+ <details key="end" value="863"/>
+ <details key="line" value="27"/>
+ </eAnnotations>
+ <eAnnotations source="positions.39" references="/0/templateShortSignature/%/%">
+ <details key="start" value="782"/>
+ <details key="end" value="783"/>
+ <details key="line" value="28"/>
+ </eAnnotations>
+ <eAnnotations source="positions.40" references="/0/templateShortSignature/%/%.1">
+ <details key="start" value="783"/>
+ <details key="end" value="856"/>
+ <details key="line" value="28"/>
+ </eAnnotations>
+ <eAnnotations source="positions.41" references="/0/templateShortSignature/%/%.1/%">
+ <details key="start" value="831"/>
+ <details key="end" value="848"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.42" references="/0/templateShortSignature/%/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.43" references="/0/templateShortSignature/%/%.1/%.1">
+ <details key="start" value="789"/>
+ <details key="end" value="812"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.44" references="/0/templateShortSignature/%/%.1/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.45" references="/0/templateShortSignature/%/%.1/%.2">
+ <details key="start" value="824"/>
+ <details key="end" value="828"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.46" references="/0/templateShortSignature/%/%.2">
+ <details key="start" value="856"/>
+ <details key="end" value="858"/>
+ <details key="line" value="28"/>
+ </eAnnotations>
+ <eAnnotations source="positions.47" references="/0/templateShortSignature/%/%.3">
+ <details key="start" value="768"/>
+ <details key="end" value="780"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.48" references="/0/templateShortSignature/%/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.49" references="/0/templateShortSignature/class">
+ <details key="start" value="743"/>
+ <details key="end" value="761"/>
+ <details key="line" value="26"/>
+ </eAnnotations>
+ <eAnnotations source="positions.50" references="/0/templateSignature.1">
+ <details key="start" value="878"/>
+ <details key="end" value="999"/>
+ <details key="line" value="32"/>
+ </eAnnotations>
+ <eAnnotations source="positions.51" references="/0/templateSignature.1/%">
+ <details key="start" value="938"/>
+ <details key="end" value="985"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.52" references="/0/templateSignature.1/%/%">
+ <details key="start" value="938"/>
+ <details key="end" value="965"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.53" references="/0/templateSignature.1/%/%/%">
+ <details key="start" value="938"/>
+ <details key="end" value="943"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.54" references="/0/templateSignature.1/%/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.55" references="/0/templateSignature.1/%/%/%.1">
+ <details key="start" value="954"/>
+ <details key="end" value="964"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.56" references="/0/templateSignature.1/operation">
+ <details key="start" value="913"/>
+ <details key="end" value="934"/>
+ <details key="line" value="32"/>
+ </eAnnotations>
+ <eAnnotations source="positions.57" references="/0/templateShortSignature.1">
+ <details key="start" value="1002"/>
+ <details key="end" value="1133"/>
+ <details key="line" value="37"/>
+ </eAnnotations>
+ <eAnnotations source="positions.58" references="/0/templateShortSignature.1/%">
+ <details key="start" value="1067"/>
+ <details key="end" value="1119"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.59" references="/0/templateShortSignature.1/%/%">
+ <details key="start" value="1067"/>
+ <details key="end" value="1094"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.60" references="/0/templateShortSignature.1/%/%/%">
+ <details key="start" value="1067"/>
+ <details key="end" value="1072"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.61" references="/0/templateShortSignature.1/%/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.62" references="/0/templateShortSignature.1/%/%/%.1">
+ <details key="start" value="1083"/>
+ <details key="end" value="1093"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.63" references="/0/templateShortSignature.1/operation">
+ <details key="start" value="1042"/>
+ <details key="end" value="1063"/>
+ <details key="line" value="37"/>
+ </eAnnotations>
+ </ecore:EAnnotation>
+</xmi:XMI>
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl
index d7c7786cc02..d4d6907036f 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl
@@ -1,5 +1,6 @@
[module CppTemplates('http://www.eclipse.org/uml2/4.0.0/UML')/]
-[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/]
+[import org::eclipse::papyrus::acceleo::GenUtils/]
+[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/]
[query public CppTemplateBindingParameter(tps : TemplateParameterSubstitution) : String =
@@ -17,14 +18,14 @@ endif
[template public templateSignature(class : Classifier)]
[if isTemplate()]
-template<[for (getTemplateParameters()) separator(', ')][getType()/][/for]>
+template<[for (getTemplateParameters()) separator(', ')][getTemplateTypeName()/][/for]>
[/if]
[/template]
[template public templateShortSignature(class : Classifier)]
[if isTemplate()]
-<[for (getTemplateParameters()) separator(', ')][getName()/][/for]> [/if]
+<[for (getTemplateParameters()) separator(', ')][getTemplateName()/][/for]> [/if]
[/template]
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/]
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl
index eacefcab9c8..624f4d3bc70 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl
@@ -1,2413 +1,2414 @@
-<?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="CppOperations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations" endHeaderPosition="156">
- <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>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../utils/Modifier.emtl#/0"/>
- <imports href="../CppDocumentation.emtl#/0"/>
- <imports href="CppParameter.emtl#/0"/>
- <imports href="../CppTemplates.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="virtualTxt" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="virtual "/>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/>
- </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: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="operation" referredVariable="/0/virtualTxt/operation">
- <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>
- <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="operation" referredVariable="/0/virtualTxt/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Virtual">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="virtualSuffix" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = 0"/>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualSuffix/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/>
- </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: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="operation" referredVariable="/0/virtualSuffix/operation">
- <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"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="ConsDestructorOrVoid" visibility="Public">
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </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="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#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
- </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/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#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </condition>
- <thenExpression 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"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void ">
- <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:Query" name="destructor" visibility="Public">
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </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="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
- </argument>
- </condition>
- <thenExpression 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"/>
- </thenExpression>
- <elseExpression 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"/>
- </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="CppReturnSpec" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:QueryInvocation" definition="/0/ConsDestructorOrVoid">
- <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="/24">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/>
- </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/="/>
- </ifExpr>
- <else>
- <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
- </source>
- <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/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/%/%.2/collect/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- </else>
- </body>
- <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
- </source>
- <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/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect/temp2">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp2">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </body>
- <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
- </source>
- <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/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect.1/temp3">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp3">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="InlineTxt" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="inline "/>
- <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.1"/>
- <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#//Element"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Inline">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="element">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="staticTxt" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/>
- <ifExpr 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="self" referredVariable="/39">
- <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#//Feature/isStatic"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDeclaration" visibility="Public">
- <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="../CppDocumentation.emtl#/0/CppOperationDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44">
- <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;"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
- <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="/45">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualTxt">
- <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="/46">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/staticTxt">
- <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="/47">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
- <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="/48">
- <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=" "/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/destructor">
- <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="/49">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <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="operation" referredVariable="/0/CppOperationDeclaration/operation">
- <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/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </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/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualSuffix">
- <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="/53">
- <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=";"/>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppConstInit" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/>
- <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:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- <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="/59">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </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#//ConstInit/initialisation"/>
- </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="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="/58">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </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/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
- </argument>
- </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="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="2017" endPosition="2087" value=" wrapper for native query (otherwise Acceleo does not indent properly)"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="getBodyInTemplate" visibility="Public">
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim">
- <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/getBody"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/64">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:VariableExp" name="language" referredVariable="/0/getBodyInTemplate/language">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- <parameter name="language">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="throws" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="throws "/>
- <body xsi:type="mtl:ForBlock">
- <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="self" referredVariable="/73">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/70">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <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/Integer"/>
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)">
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/throws/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/>
- </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>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationImplementation" visibility="Public">
- <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="../CppDocumentation.emtl#/0/CppOperationDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80">
- <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;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
- <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="/82">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <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="operation" referredVariable="/0/CppOperationImplementation/operation">
- <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/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/84">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {&#xA;&#x9;"/>
- <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/getBody"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/85">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;}&#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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
- <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/name"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="main">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/>
- </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="../CppTemplates.emtl#/0/templateSignature.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/86">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
- <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="/87">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
- <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="/88">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <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="../CppTemplates.emtl#/0/templateShortSignature.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/90">
- <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="::"/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/destructor">
- <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="/91">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <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="operation" referredVariable="/0/CppOperationImplementation/operation">
- <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/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/93">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/throws">
- <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="/94">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/95">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppConstInit">
- <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="/96">
- <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;&#x9;"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/getBodyInTemplate">
- <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="/97">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;}&#xA;"/>
- </else>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </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="trim">
- <eAnnotations source="MTL non-standard"/>
- <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="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="virtualTxt">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/virtualTxt"/>
- <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>
- <eOperations name="virtualSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/virtualSuffix"/>
- <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>
- <eOperations name="ConsDestructorOrVoid">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/ConsDestructorOrVoid"/>
- <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>
- <eOperations name="destructor">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/destructor"/>
- <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>
- <eOperations name="CppReturnSpec">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppReturnSpec"/>
- <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>
- <eOperations name="InlineTxt">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/InlineTxt"/>
- <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>
- </eOperations>
- <eOperations name="staticTxt">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/staticTxt"/>
- <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>
- <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="/0/CppOperationDeclaration"/>
- <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>
- <eOperations name="CppConstInit">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppConstInit"/>
- <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>
- <eOperations name="getBodyInTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/getBodyInTemplate"/>
- <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>
- <eParameters name="language">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="throws">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/throws"/>
- <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>
- <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="/0/CppOperationImplementation"/>
- <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>
- <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="getBody">
- <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/getBody"/>
- </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#//Operation"/>
- </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="modPtr">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modPtr"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modRef">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modRef"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modConst">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modConst"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppDocumentation.emtl#/0/CppOperationDoc"/>
- </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>
- <eOperations name="CppOperationParameters">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppParameter.emtl#/0/CppOperationParameters"/>
- </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>
- <eParameters name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppTemplates.emtl#/0/templateSignature.1"/>
- </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>
- <eOperations name="templateShortSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppTemplates.emtl#/0/templateShortSignature.1"/>
- </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="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>
- <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="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="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="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </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#//Operation"/>
- </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#//Operation"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Virtual">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Create">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Destroy">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
- </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>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </eClassifiers>
- </ecore:EPackage>
- <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/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#//Operation"/>
- </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#//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/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#//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/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#//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/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#//Operation"/>
- </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#//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#//Operation"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Parameter)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(String)" instanceClassName="org.eclipse.ocl.util.Bag">
- <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Type)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- </eClassifiers>
- </ecore:EPackage>
- <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#//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/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>
- <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#//Operation"/>
- </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#//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/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#//Operation"/>
- </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#//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#//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#//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#//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#//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#//Operation"/>
- </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#//Operation"/>
- </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#//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#//Operation"/>
- </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#//Operation"/>
- </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#//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/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#//Operation"/>
- </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#//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#//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#//Type"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- </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="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#//Operation"/>
- </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#//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#//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#//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#//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#//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#//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#//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#//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#//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#//Operation"/>
- </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/virtualTxt">
- <details key="start" value="527"/>
- <details key="end" value="703"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/virtualTxt/%">
- <details key="start" value="579"/>
- <details key="end" value="691"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/virtualTxt/%/%">
- <details key="start" value="678"/>
- <details key="end" value="686"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/virtualTxt/%/%.1">
- <details key="start" value="582"/>
- <details key="end" value="677"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/virtualTxt/%/%.1/%">
- <details key="start" value="583"/>
- <details key="end" value="638"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/virtualTxt/%/%.1/%/%">
- <details key="start" value="583"/>
- <details key="end" value="612"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/virtualTxt/%/%.1/%/%/%">
- <details key="start" value="584"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/virtualTxt/%/%.1/%/%/%/operation">
- <details key="start" value="584"/>
- <details key="end" value="593"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/virtualTxt/%/%.1/%/%/%.1">
- <details key="start" value="607"/>
- <details key="end" value="611"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/virtualTxt/%/%.1/%/%.1">
- <details key="start" value="616"/>
- <details key="end" value="638"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/virtualTxt/%/%.1/%/%.1/operation">
- <details key="start" value="617"/>
- <details key="end" value="626"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/virtualTxt/%/%.1/%.1">
- <details key="start" value="642"/>
- <details key="end" value="676"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/virtualTxt/%/%.1/%.1/operation">
- <details key="start" value="643"/>
- <details key="end" value="652"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/virtualTxt/%/%.1/%.1/%">
- <details key="start" value="667"/>
- <details key="end" value="674"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/virtualTxt/operation">
- <details key="start" value="555"/>
- <details key="end" value="576"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/virtualSuffix">
- <details key="start" value="706"/>
- <details key="end" value="843"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/virtualSuffix/%">
- <details key="start" value="761"/>
- <details key="end" value="831"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/virtualSuffix/%/%">
- <details key="start" value="822"/>
- <details key="end" value="826"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/virtualSuffix/%/%.1">
- <details key="start" value="764"/>
- <details key="end" value="821"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/virtualSuffix/%/%.1/%">
- <details key="start" value="765"/>
- <details key="end" value="794"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/virtualSuffix/%/%.1/%/%">
- <details key="start" value="766"/>
- <details key="end" value="785"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/virtualSuffix/%/%.1/%/%/operation">
- <details key="start" value="766"/>
- <details key="end" value="775"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/virtualSuffix/%/%.1/%/%.1">
- <details key="start" value="789"/>
- <details key="end" value="793"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/virtualSuffix/%/%.1/%.1">
- <details key="start" value="798"/>
- <details key="end" value="820"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/virtualSuffix/%/%.1/%.1/operation">
- <details key="start" value="799"/>
- <details key="end" value="808"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/virtualSuffix/operation">
- <details key="start" value="737"/>
- <details key="end" value="758"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/ConsDestructorOrVoid">
- <details key="start" value="846"/>
- <details key="end" value="1004"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/ConsDestructorOrVoid/operation">
- <details key="start" value="881"/>
- <details key="end" value="902"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/ConsDestructorOrVoid/%">
- <details key="start" value="915"/>
- <details key="end" value="1002"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/ConsDestructorOrVoid/%/%">
- <details key="start" value="918"/>
- <details key="end" value="973"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/ConsDestructorOrVoid/%/%/%">
- <details key="start" value="918"/>
- <details key="end" value="943"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/ConsDestructorOrVoid/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/ConsDestructorOrVoid/%/%/%/%">
- <details key="start" value="932"/>
- <details key="end" value="942"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/ConsDestructorOrVoid/%/%/%.1">
- <details key="start" value="947"/>
- <details key="end" value="973"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/ConsDestructorOrVoid/%/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/ConsDestructorOrVoid/%/%/%.1/%">
- <details key="start" value="961"/>
- <details key="end" value="972"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/ConsDestructorOrVoid/%/%.1">
- <details key="start" value="980"/>
- <details key="end" value="982"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/ConsDestructorOrVoid/%/%.2">
- <details key="start" value="989"/>
- <details key="end" value="996"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/destructor">
- <details key="start" value="1007"/>
- <details key="end" value="1122"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/destructor/operation">
- <details key="start" value="1032"/>
- <details key="end" value="1053"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/destructor/%">
- <details key="start" value="1066"/>
- <details key="end" value="1120"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/destructor/%/%">
- <details key="start" value="1069"/>
- <details key="end" value="1095"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/destructor/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/destructor/%/%/%">
- <details key="start" value="1083"/>
- <details key="end" value="1094"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/destructor/%/%.1">
- <details key="start" value="1102"/>
- <details key="end" value="1105"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/destructor/%/%.2">
- <details key="start" value="1112"/>
- <details key="end" value="1114"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppReturnSpec">
- <details key="start" value="1124"/>
- <details key="end" value="1350"/>
- <details key="line" value="34"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppReturnSpec/%">
- <details key="start" value="1179"/>
- <details key="end" value="1286"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppReturnSpec/%/%">
- <details key="start" value="1198"/>
- <details key="end" value="1220"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppReturnSpec/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppReturnSpec/%/%.1">
- <details key="start" value="1183"/>
- <details key="end" value="1196"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppReturnSpec/%/%.1/%">
- <details key="start" value="1184"/>
- <details key="end" value="1188"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppReturnSpec/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppReturnSpec/%/%.1/%.1">
- <details key="start" value="1191"/>
- <details key="end" value="1195"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppReturnSpec/%/%.2">
- <details key="start" value="1222"/>
- <details key="end" value="1281"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppReturnSpec/%/%.2/collect">
- <details key="start" value="1229"/>
- <details key="end" value="1254"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppReturnSpec/%/%.2/collect/%">
- <details key="start" value="1229"/>
- <details key="end" value="1243"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppReturnSpec/%/%.2/collect/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppReturnSpec/%/%.2/collect/%.1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppReturnSpec/%/%.2/collect/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppReturnSpec/%/%.2/collect/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppReturnSpec/%/%.2/%">
- <details key="start" value="1256"/>
- <details key="end" value="1257"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppReturnSpec/%/%.2/%.1">
- <details key="start" value="1258"/>
- <details key="end" value="1278"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppReturnSpec/%/%.2/%.1/%">
- <details key="start" value="1258"/>
- <details key="end" value="1262"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppReturnSpec/%/%.2/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppReturnSpec/%/%.2/%.2">
- <details key="start" value="1280"/>
- <details key="end" value="1281"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppReturnSpec/collect">
- <details key="start" value="1287"/>
- <details key="end" value="1310"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppReturnSpec/collect/%">
- <details key="start" value="1287"/>
- <details key="end" value="1301"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppReturnSpec/collect/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppReturnSpec/collect/%.1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppReturnSpec/collect/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppReturnSpec/collect/temp2">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppReturnSpec/collect.1">
- <details key="start" value="1313"/>
- <details key="end" value="1336"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppReturnSpec/collect.1/%">
- <details key="start" value="1313"/>
- <details key="end" value="1327"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppReturnSpec/collect.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppReturnSpec/collect.1/%.1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppReturnSpec/collect.1/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppReturnSpec/collect.1/temp3">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppReturnSpec/operation">
- <details key="start" value="1155"/>
- <details key="end" value="1176"/>
- <details key="line" value="34"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/InlineTxt">
- <details key="start" value="1353"/>
- <details key="end" value="1452"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/InlineTxt/%">
- <details key="start" value="1400"/>
- <details key="end" value="1440"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/InlineTxt/%/%">
- <details key="start" value="1428"/>
- <details key="end" value="1435"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/InlineTxt/%/%.1">
- <details key="start" value="1404"/>
- <details key="end" value="1427"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/InlineTxt/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/InlineTxt/%/%.1/%">
- <details key="start" value="1419"/>
- <details key="end" value="1425"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/InlineTxt/element">
- <details key="start" value="1380"/>
- <details key="end" value="1397"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/staticTxt">
- <details key="start" value="1455"/>
- <details key="end" value="1545"/>
- <details key="line" value="44"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/staticTxt/%">
- <details key="start" value="1506"/>
- <details key="end" value="1533"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/staticTxt/%/%">
- <details key="start" value="1521"/>
- <details key="end" value="1528"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.89" references="/0/staticTxt/%/%.1">
- <details key="start" value="1510"/>
- <details key="end" value="1520"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.90" references="/0/staticTxt/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.91" references="/0/staticTxt/operation">
- <details key="start" value="1482"/>
- <details key="end" value="1503"/>
- <details key="line" value="44"/>
- </eAnnotations>
- <eAnnotations source="positions.92" references="/0/CppOperationDeclaration">
- <details key="start" value="1547"/>
- <details key="end" value="1804"/>
- <details key="line" value="48"/>
- </eAnnotations>
- <eAnnotations source="positions.93" references="/0/CppOperationDeclaration/%">
- <details key="start" value="1613"/>
- <details key="end" value="1630"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.94" references="/0/CppOperationDeclaration/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.95" references="/0/CppOperationDeclaration/%.1">
- <details key="start" value="1632"/>
- <details key="end" value="1633"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.96" references="/0/CppOperationDeclaration/%.2">
- <details key="start" value="1634"/>
- <details key="end" value="1645"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.97" references="/0/CppOperationDeclaration/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.98" references="/0/CppOperationDeclaration/%.3">
- <details key="start" value="1648"/>
- <details key="end" value="1660"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.99" references="/0/CppOperationDeclaration/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.100" references="/0/CppOperationDeclaration/%.4">
- <details key="start" value="1663"/>
- <details key="end" value="1674"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.101" references="/0/CppOperationDeclaration/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.102" references="/0/CppOperationDeclaration/%.5">
- <details key="start" value="1677"/>
- <details key="end" value="1692"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.103" references="/0/CppOperationDeclaration/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.104" references="/0/CppOperationDeclaration/%.6">
- <details key="start" value="1694"/>
- <details key="end" value="1695"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.105" references="/0/CppOperationDeclaration/%.7">
- <details key="start" value="1696"/>
- <details key="end" value="1708"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.106" references="/0/CppOperationDeclaration/%.7/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.107" references="/0/CppOperationDeclaration/%.8">
- <details key="start" value="1711"/>
- <details key="end" value="1725"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.108" references="/0/CppOperationDeclaration/%.8/operation">
- <details key="start" value="1711"/>
- <details key="end" value="1720"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.109" references="/0/CppOperationDeclaration/%.9">
- <details key="start" value="1727"/>
- <details key="end" value="1728"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.110" references="/0/CppOperationDeclaration/%.10">
- <details key="start" value="1729"/>
- <details key="end" value="1757"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.111" references="/0/CppOperationDeclaration/%.10/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.112" references="/0/CppOperationDeclaration/%.10/%">
- <details key="start" value="1752"/>
- <details key="end" value="1756"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.113" references="/0/CppOperationDeclaration/%.11">
- <details key="start" value="1759"/>
- <details key="end" value="1760"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.114" references="/0/CppOperationDeclaration/%.12">
- <details key="start" value="1761"/>
- <details key="end" value="1771"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.115" references="/0/CppOperationDeclaration/%.12/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.116" references="/0/CppOperationDeclaration/%.13">
- <details key="start" value="1774"/>
- <details key="end" value="1789"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.117" references="/0/CppOperationDeclaration/%.13/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.118" references="/0/CppOperationDeclaration/%.14">
- <details key="start" value="1791"/>
- <details key="end" value="1792"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.119" references="/0/CppOperationDeclaration/operation">
- <details key="start" value="1588"/>
- <details key="end" value="1609"/>
- <details key="line" value="48"/>
- </eAnnotations>
- <eAnnotations source="positions.120" references="/0/CppConstInit">
- <details key="start" value="1807"/>
- <details key="end" value="2006"/>
- <details key="line" value="54"/>
- </eAnnotations>
- <eAnnotations source="positions.121" references="/0/CppConstInit/%">
- <details key="start" value="1861"/>
- <details key="end" value="1994"/>
- <details key="line" value="55"/>
- </eAnnotations>
- <eAnnotations source="positions.122" references="/0/CppConstInit/%/%">
- <details key="start" value="1922"/>
- <details key="end" value="1925"/>
- <details key="line" value="55"/>
- </eAnnotations>
- <eAnnotations source="positions.123" references="/0/CppConstInit/%/%.1">
- <details key="start" value="1926"/>
- <details key="end" value="1987"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.124" references="/0/CppConstInit/%/%.1/%">
- <details key="start" value="1926"/>
- <details key="end" value="1972"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.125" references="/0/CppConstInit/%/%.1/%/%">
- <details key="start" value="1926"/>
- <details key="end" value="1951"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.126" references="/0/CppConstInit/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.127" references="/0/CppConstInit/%/%.1/%/%/%">
- <details key="start" value="1941"/>
- <details key="end" value="1950"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.128" references="/0/CppConstInit/%/%.1/%/%.1">
- <details key="start" value="1962"/>
- <details key="end" value="1971"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.129" references="/0/CppConstInit/%/%.2">
- <details key="start" value="1865"/>
- <details key="end" value="1921"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.130" references="/0/CppConstInit/%/%.2/%">
- <details key="start" value="1866"/>
- <details key="end" value="1890"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.131" references="/0/CppConstInit/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.132" references="/0/CppConstInit/%/%.2/%/%">
- <details key="start" value="1880"/>
- <details key="end" value="1889"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.133" references="/0/CppConstInit/%/%.2/%.1">
- <details key="start" value="1895"/>
- <details key="end" value="1920"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.134" references="/0/CppConstInit/%/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.135" references="/0/CppConstInit/%/%.2/%.1/%">
- <details key="start" value="1909"/>
- <details key="end" value="1919"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.136" references="/0/CppConstInit/operation">
- <details key="start" value="1837"/>
- <details key="end" value="1858"/>
- <details key="line" value="54"/>
- </eAnnotations>
- <eAnnotations source="positions.137" references="/0/%">
- <details key="start" value="2009"/>
- <details key="end" value="2089"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.138" references="/0/getBodyInTemplate">
- <details key="start" value="2090"/>
- <details key="end" value="2207"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.139" references="/0/getBodyInTemplate/%">
- <details key="start" value="2169"/>
- <details key="end" value="2193"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.140" references="/0/getBodyInTemplate/%/%">
- <details key="start" value="2169"/>
- <details key="end" value="2186"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.141" references="/0/getBodyInTemplate/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.142" references="/0/getBodyInTemplate/%/%/language">
- <details key="start" value="2177"/>
- <details key="end" value="2185"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.143" references="/0/getBodyInTemplate/operation">
- <details key="start" value="2125"/>
- <details key="end" value="2146"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.144" references="/0/getBodyInTemplate/language">
- <details key="start" value="2148"/>
- <details key="end" value="2165"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.145" references="/0/throws">
- <details key="start" value="2210"/>
- <details key="end" value="2378"/>
- <details key="line" value="65"/>
- </eAnnotations>
- <eAnnotations source="positions.146" references="/0/throws/%">
- <details key="start" value="2257"/>
- <details key="end" value="2366"/>
- <details key="line" value="66"/>
- </eAnnotations>
- <eAnnotations source="positions.147" references="/0/throws/%/%">
- <details key="start" value="2302"/>
- <details key="end" value="2309"/>
- <details key="line" value="67"/>
- </eAnnotations>
- <eAnnotations source="positions.148" references="/0/throws/%/%.1">
- <details key="start" value="2309"/>
- <details key="end" value="2360"/>
- <details key="line" value="67"/>
- </eAnnotations>
- <eAnnotations source="positions.149" references="/0/throws/%/%.1/%">
- <details key="start" value="2348"/>
- <details key="end" value="2352"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.150" references="/0/throws/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.151" references="/0/throws/%/%.1/%.1">
- <details key="start" value="2315"/>
- <details key="end" value="2330"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.152" references="/0/throws/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.153" references="/0/throws/%/%.1/%.2">
- <details key="start" value="2342"/>
- <details key="end" value="2345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.154" references="/0/throws/%/%.2">
- <details key="start" value="2360"/>
- <details key="end" value="2361"/>
- <details key="line" value="68"/>
- </eAnnotations>
- <eAnnotations source="positions.155" references="/0/throws/%/%.3">
- <details key="start" value="2261"/>
- <details key="end" value="2300"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.156" references="/0/throws/%/%.3/%">
- <details key="start" value="2262"/>
- <details key="end" value="2295"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.157" references="/0/throws/%/%.3/%/%">
- <details key="start" value="2262"/>
- <details key="end" value="2287"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.158" references="/0/throws/%/%.3/%/%/operation">
- <details key="start" value="2262"/>
- <details key="end" value="2271"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.159" references="/0/throws/%/%.3/%.1">
- <details key="start" value="2298"/>
- <details key="end" value="2299"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.160" references="/0/throws/operation">
- <details key="start" value="2234"/>
- <details key="end" value="2254"/>
- <details key="line" value="65"/>
- </eAnnotations>
- <eAnnotations source="positions.161" references="/0/CppOperationImplementation">
- <details key="start" value="2381"/>
- <details key="end" value="2869"/>
- <details key="line" value="72"/>
- </eAnnotations>
- <eAnnotations source="positions.162" references="/0/CppOperationImplementation/%">
- <details key="start" value="2450"/>
- <details key="end" value="2467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.163" references="/0/CppOperationImplementation/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.164" references="/0/CppOperationImplementation/%.1">
- <details key="start" value="2469"/>
- <details key="end" value="2470"/>
- <details key="line" value="74"/>
- </eAnnotations>
- <eAnnotations source="positions.165" references="/0/CppOperationImplementation/%.2">
- <details key="start" value="2470"/>
- <details key="end" value="2857"/>
- <details key="line" value="74"/>
- </eAnnotations>
- <eAnnotations source="positions.166" references="/0/CppOperationImplementation/%.2/%">
- <details key="start" value="2502"/>
- <details key="end" value="2517"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.167" references="/0/CppOperationImplementation/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.168" references="/0/CppOperationImplementation/%.2/%.1">
- <details key="start" value="2520"/>
- <details key="end" value="2534"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.169" references="/0/CppOperationImplementation/%.2/%.1/operation">
- <details key="start" value="2520"/>
- <details key="end" value="2529"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.170" references="/0/CppOperationImplementation/%.2/%.2">
- <details key="start" value="2536"/>
- <details key="end" value="2537"/>
- <details key="line" value="75"/>
- </eAnnotations>
- <eAnnotations source="positions.171" references="/0/CppOperationImplementation/%.2/%.3">
- <details key="start" value="2538"/>
- <details key="end" value="2567"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.172" references="/0/CppOperationImplementation/%.2/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.173" references="/0/CppOperationImplementation/%.2/%.3/%">
- <details key="start" value="2561"/>
- <details key="end" value="2566"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.174" references="/0/CppOperationImplementation/%.2/%.4">
- <details key="start" value="2569"/>
- <details key="end" value="2574"/>
- <details key="line" value="75"/>
- </eAnnotations>
- <eAnnotations source="positions.175" references="/0/CppOperationImplementation/%.2/%.5">
- <details key="start" value="2575"/>
- <details key="end" value="2591"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.176" references="/0/CppOperationImplementation/%.2/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.177" references="/0/CppOperationImplementation/%.2/%.5/%">
- <details key="start" value="2583"/>
- <details key="end" value="2590"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.178" references="/0/CppOperationImplementation/%.2/%.6">
- <details key="start" value="2593"/>
- <details key="end" value="2596"/>
- <details key="line" value="77"/>
- </eAnnotations>
- <eAnnotations source="positions.179" references="/0/CppOperationImplementation/%.2/%.7">
- <details key="start" value="2474"/>
- <details key="end" value="2499"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.180" references="/0/CppOperationImplementation/%.2/%.7/%">
- <details key="start" value="2475"/>
- <details key="end" value="2489"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.181" references="/0/CppOperationImplementation/%.2/%.7/%/operation">
- <details key="start" value="2475"/>
- <details key="end" value="2484"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.182" references="/0/CppOperationImplementation/%.2/%.7/%.1">
- <details key="start" value="2492"/>
- <details key="end" value="2498"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.183" references="/0/CppOperationImplementation/%.2/%.8">
- <details key="start" value="2596"/>
- <details key="end" value="2852"/>
- <details key="line" value="78"/>
- </eAnnotations>
- <eAnnotations source="positions.184" references="/0/CppOperationImplementation/%.2/%.8/%">
- <details key="start" value="2604"/>
- <details key="end" value="2623"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.185" references="/0/CppOperationImplementation/%.2/%.8/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.186" references="/0/CppOperationImplementation/%.2/%.8/%.1">
- <details key="start" value="2626"/>
- <details key="end" value="2637"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.187" references="/0/CppOperationImplementation/%.2/%.8/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.188" references="/0/CppOperationImplementation/%.2/%.8/%.2">
- <details key="start" value="2640"/>
- <details key="end" value="2655"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.189" references="/0/CppOperationImplementation/%.2/%.8/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.190" references="/0/CppOperationImplementation/%.2/%.8/%.3">
- <details key="start" value="2658"/>
- <details key="end" value="2678"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.191" references="/0/CppOperationImplementation/%.2/%.8/%.3/%">
- <details key="start" value="2658"/>
- <details key="end" value="2673"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.192" references="/0/CppOperationImplementation/%.2/%.8/%.3/%/operation">
- <details key="start" value="2658"/>
- <details key="end" value="2667"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.193" references="/0/CppOperationImplementation/%.2/%.8/%.4">
- <details key="start" value="2681"/>
- <details key="end" value="2705"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.194" references="/0/CppOperationImplementation/%.2/%.8/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.195" references="/0/CppOperationImplementation/%.2/%.8/%.5">
- <details key="start" value="2707"/>
- <details key="end" value="2709"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.196" references="/0/CppOperationImplementation/%.2/%.8/%.6">
- <details key="start" value="2710"/>
- <details key="end" value="2722"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.197" references="/0/CppOperationImplementation/%.2/%.8/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.198" references="/0/CppOperationImplementation/%.2/%.8/%.7">
- <details key="start" value="2725"/>
- <details key="end" value="2739"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.199" references="/0/CppOperationImplementation/%.2/%.8/%.7/operation">
- <details key="start" value="2725"/>
- <details key="end" value="2734"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.200" references="/0/CppOperationImplementation/%.2/%.8/%.8">
- <details key="start" value="2741"/>
- <details key="end" value="2742"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.201" references="/0/CppOperationImplementation/%.2/%.8/%.9">
- <details key="start" value="2743"/>
- <details key="end" value="2772"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.202" references="/0/CppOperationImplementation/%.2/%.8/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.203" references="/0/CppOperationImplementation/%.2/%.8/%.9/%">
- <details key="start" value="2766"/>
- <details key="end" value="2771"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.204" references="/0/CppOperationImplementation/%.2/%.8/%.10">
- <details key="start" value="2774"/>
- <details key="end" value="2775"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.205" references="/0/CppOperationImplementation/%.2/%.8/%.11">
- <details key="start" value="2776"/>
- <details key="end" value="2784"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.206" references="/0/CppOperationImplementation/%.2/%.8/%.11/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.207" references="/0/CppOperationImplementation/%.2/%.8/%.12">
- <details key="start" value="2787"/>
- <details key="end" value="2797"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.208" references="/0/CppOperationImplementation/%.2/%.8/%.12/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.209" references="/0/CppOperationImplementation/%.2/%.8/%.13">
- <details key="start" value="2800"/>
- <details key="end" value="2814"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.210" references="/0/CppOperationImplementation/%.2/%.8/%.13/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.211" references="/0/CppOperationImplementation/%.2/%.8/%.14">
- <details key="start" value="2816"/>
- <details key="end" value="2820"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.212" references="/0/CppOperationImplementation/%.2/%.8/%.15">
- <details key="start" value="2821"/>
- <details key="end" value="2847"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.213" references="/0/CppOperationImplementation/%.2/%.8/%.15/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.214" references="/0/CppOperationImplementation/%.2/%.8/%.15/%">
- <details key="start" value="2839"/>
- <details key="end" value="2846"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.215" references="/0/CppOperationImplementation/%.2/%.8/%.16">
- <details key="start" value="2849"/>
- <details key="end" value="2852"/>
- <details key="line" value="81"/>
- </eAnnotations>
- <eAnnotations source="positions.216" references="/0/CppOperationImplementation/operation">
- <details key="start" value="2425"/>
- <details key="end" value="2446"/>
- <details key="line" value="72"/>
- </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="CppOperations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations" endHeaderPosition="156">
+ <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>
+ <input>
+ <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
+ </input>
+ <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/>
+ <imports href="../../../utils/CppGenUtils.emtl#/0"/>
+ <imports href="../../../utils/Modifier.emtl#/0"/>
+ <imports href="../CppDocumentation.emtl#/0"/>
+ <imports href="CppParameter.emtl#/0"/>
+ <imports href="../CppTemplates.emtl#/0"/>
+ <ownedModuleElement xsi:type="mtl:Template" name="virtualTxt" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="virtual "/>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/>
+ </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: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="operation" referredVariable="/0/virtualTxt/operation">
+ <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>
+ <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="operation" referredVariable="/0/virtualTxt/operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Virtual">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/>
+ </argument>
+ </argument>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
+ </ifExpr>
+ </body>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="virtualSuffix" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = 0"/>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualSuffix/operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/>
+ </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: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="operation" referredVariable="/0/virtualSuffix/operation">
+ <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"/>
+ </ifExpr>
+ </body>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Query" name="ConsDestructorOrVoid" visibility="Public">
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </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="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#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
+ </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/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#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
+ </argument>
+ </argument>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
+ </condition>
+ <thenExpression 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"/>
+ </thenExpression>
+ <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void ">
+ <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:Query" name="destructor" visibility="Public">
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </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="/18">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
+ </argument>
+ </condition>
+ <thenExpression 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"/>
+ </thenExpression>
+ <elseExpression 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"/>
+ </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="CppReturnSpec" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="mtl:QueryInvocation" definition="/0/ConsDestructorOrVoid">
+ <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="/24">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/>
+ </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/="/>
+ </ifExpr>
+ <else>
+ <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
+ <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
+ </source>
+ <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/Modifier.emtl#/0/modConst"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/%/%.2/collect/temp1">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ </body>
+ <iterator xsi:type="ocl.ecore:Variable" name="temp1">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </iterator>
+ </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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
+ </else>
+ </body>
+ <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
+ <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
+ </source>
+ <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/Modifier.emtl#/0/modPtr"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect/temp2">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ </body>
+ <iterator xsi:type="ocl.ecore:Variable" name="temp2">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </iterator>
+ </body>
+ <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
+ <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
+ </source>
+ <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/Modifier.emtl#/0/modRef"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect.1/temp3">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ </body>
+ <iterator xsi:type="ocl.ecore:Variable" name="temp3">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </iterator>
+ </body>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="InlineTxt" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="inline "/>
+ <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.1"/>
+ <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#//Element"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Inline">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
+ </argument>
+ </ifExpr>
+ </body>
+ <parameter name="element">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="staticTxt" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/>
+ <ifExpr 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="self" referredVariable="/39">
+ <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#//Feature/isStatic"/>
+ </ifExpr>
+ </body>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDeclaration" visibility="Public">
+ <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="../CppDocumentation.emtl#/0/CppOperationDoc"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44">
+ <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;"/>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
+ <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="/45">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualTxt">
+ <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="/46">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/staticTxt">
+ <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="/47">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
+ <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="/48">
+ <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=" "/>
+ <body xsi:type="mtl:QueryInvocation" definition="/0/destructor">
+ <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="/49">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <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="operation" referredVariable="/0/CppOperationDeclaration/operation">
+ <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/name"/>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
+ <body xsi:type="mtl:TemplateInvocation">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </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/Modifier.emtl#/0/modConst"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualSuffix">
+ <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="/53">
+ <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=";"/>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppConstInit" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/>
+ <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:OperationCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
+ <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="/59">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
+ </argument>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
+ </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#//ConstInit/initialisation"/>
+ </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="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="/58">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
+ </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/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="/58">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
+ </argument>
+ </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="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Comment">
+ <body startPosition="2074" endPosition="2144" value=" wrapper for native query (otherwise Acceleo does not indent properly)"/>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="getBodyInTemplate" visibility="Public">
+ <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim">
+ <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/getBody"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/64">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:VariableExp" name="language" referredVariable="/0/getBodyInTemplate/language">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ </source>
+ </body>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ <parameter name="language">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="throws" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="throws "/>
+ <body xsi:type="mtl:ForBlock">
+ <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="self" referredVariable="/73">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </body>
+ <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)">
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/70">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/>
+ </iterSet>
+ <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </each>
+ </body>
+ <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/Integer"/>
+ <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)">
+ <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/throws/operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/>
+ </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>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppOperationImplementation" visibility="Public">
+ <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="../CppDocumentation.emtl#/0/CppOperationDoc"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80">
+ <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;"/>
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
+ <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="/82">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <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="operation" referredVariable="/0/CppOperationImplementation/operation">
+ <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/name"/>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
+ <body xsi:type="mtl:TemplateInvocation">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/84">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {&#xA;&#x9;"/>
+ <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/getBody"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/85">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;}&#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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
+ <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/name"/>
+ </source>
+ <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="main">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/>
+ </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="../CppTemplates.emtl#/0/templateSignature.1"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/86">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
+ <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="/87">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
+ <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="/88">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/class"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </body>
+ <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="../CppTemplates.emtl#/0/templateShortSignature.1"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/90">
+ <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="::"/>
+ <body xsi:type="mtl:QueryInvocation" definition="/0/destructor">
+ <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="/91">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <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="operation" referredVariable="/0/CppOperationImplementation/operation">
+ <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/name"/>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
+ <body xsi:type="mtl:TemplateInvocation">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/93">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/throws">
+ <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="/94">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modConst"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/95">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppConstInit">
+ <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="/96">
+ <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;&#x9;"/>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/getBodyInTemplate">
+ <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="/97">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;}&#xA;"/>
+ </else>
+ </body>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </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="trim">
+ <eAnnotations source="MTL non-standard"/>
+ <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="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="virtualTxt">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/virtualTxt"/>
+ <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>
+ <eOperations name="virtualSuffix">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/virtualSuffix"/>
+ <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>
+ <eOperations name="ConsDestructorOrVoid">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/ConsDestructorOrVoid"/>
+ <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>
+ <eOperations name="destructor">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/destructor"/>
+ <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>
+ <eOperations name="CppReturnSpec">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppReturnSpec"/>
+ <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>
+ <eOperations name="InlineTxt">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/InlineTxt"/>
+ <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>
+ </eOperations>
+ <eOperations name="staticTxt">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/staticTxt"/>
+ <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>
+ <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="/0/CppOperationDeclaration"/>
+ <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>
+ <eOperations name="CppConstInit">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppConstInit"/>
+ <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>
+ <eOperations name="getBodyInTemplate">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/getBodyInTemplate"/>
+ <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>
+ <eParameters name="language">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="throws">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/throws"/>
+ <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>
+ <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="/0/CppOperationImplementation"/>
+ <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>
+ <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="getBody">
+ <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/getBody"/>
+ </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#//Operation"/>
+ </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="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>
+ <eOperations name="modPtr">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../../utils/Modifier.emtl#/0/modPtr"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modRef">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../../utils/Modifier.emtl#/0/modRef"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modConst">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../../utils/Modifier.emtl#/0/modConst"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CppOperationDoc">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../CppDocumentation.emtl#/0/CppOperationDoc"/>
+ </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>
+ <eOperations name="CppOperationParameters">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="CppParameter.emtl#/0/CppOperationParameters"/>
+ </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>
+ <eParameters name="showDefault">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="templateSignature">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../CppTemplates.emtl#/0/templateSignature.1"/>
+ </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>
+ <eOperations name="templateShortSignature">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../CppTemplates.emtl#/0/templateShortSignature.1"/>
+ </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="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>
+ <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="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="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="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="Parameter_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
+ </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#//Operation"/>
+ </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#//Operation"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="types">
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="Virtual">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="Create">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="Destroy">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
+ </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>
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="ConstInit">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <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/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#//Operation"/>
+ </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#//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/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#//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/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#//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/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#//Operation"/>
+ </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#//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#//Operation"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="collections">
+ <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Parameter)" instanceClassName="java.util.Set">
+ <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(String)" instanceClassName="org.eclipse.ocl.util.Bag">
+ <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Type)" instanceClassName="java.util.Set">
+ <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <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#//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/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>
+ <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#//Operation"/>
+ </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#//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/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#//Operation"/>
+ </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#//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#//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#//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#//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#//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#//Operation"/>
+ </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#//Operation"/>
+ </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#//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#//Operation"/>
+ </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#//Operation"/>
+ </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#//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/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#//Operation"/>
+ </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#//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#//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#//Type"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ </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="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#//Operation"/>
+ </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#//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#//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#//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#//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#//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#//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#//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#//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#//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#//Operation"/>
+ </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/virtualTxt">
+ <details key="start" value="581"/>
+ <details key="end" value="757"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1" references="/0/virtualTxt/%">
+ <details key="start" value="633"/>
+ <details key="end" value="745"/>
+ <details key="line" value="11"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2" references="/0/virtualTxt/%/%">
+ <details key="start" value="732"/>
+ <details key="end" value="740"/>
+ <details key="line" value="11"/>
+ </eAnnotations>
+ <eAnnotations source="positions.3" references="/0/virtualTxt/%/%.1">
+ <details key="start" value="636"/>
+ <details key="end" value="731"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.4" references="/0/virtualTxt/%/%.1/%">
+ <details key="start" value="637"/>
+ <details key="end" value="692"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.5" references="/0/virtualTxt/%/%.1/%/%">
+ <details key="start" value="637"/>
+ <details key="end" value="666"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.6" references="/0/virtualTxt/%/%.1/%/%/%">
+ <details key="start" value="638"/>
+ <details key="end" value="657"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.7" references="/0/virtualTxt/%/%.1/%/%/%/operation">
+ <details key="start" value="638"/>
+ <details key="end" value="647"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.8" references="/0/virtualTxt/%/%.1/%/%/%.1">
+ <details key="start" value="661"/>
+ <details key="end" value="665"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.9" references="/0/virtualTxt/%/%.1/%/%.1">
+ <details key="start" value="670"/>
+ <details key="end" value="692"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.10" references="/0/virtualTxt/%/%.1/%/%.1/operation">
+ <details key="start" value="671"/>
+ <details key="end" value="680"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.11" references="/0/virtualTxt/%/%.1/%.1">
+ <details key="start" value="696"/>
+ <details key="end" value="730"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.12" references="/0/virtualTxt/%/%.1/%.1/operation">
+ <details key="start" value="697"/>
+ <details key="end" value="706"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.13" references="/0/virtualTxt/%/%.1/%.1/%">
+ <details key="start" value="721"/>
+ <details key="end" value="728"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.14" references="/0/virtualTxt/operation">
+ <details key="start" value="609"/>
+ <details key="end" value="630"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.15" references="/0/virtualSuffix">
+ <details key="start" value="760"/>
+ <details key="end" value="897"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.16" references="/0/virtualSuffix/%">
+ <details key="start" value="815"/>
+ <details key="end" value="885"/>
+ <details key="line" value="16"/>
+ </eAnnotations>
+ <eAnnotations source="positions.17" references="/0/virtualSuffix/%/%">
+ <details key="start" value="876"/>
+ <details key="end" value="880"/>
+ <details key="line" value="16"/>
+ </eAnnotations>
+ <eAnnotations source="positions.18" references="/0/virtualSuffix/%/%.1">
+ <details key="start" value="818"/>
+ <details key="end" value="875"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.19" references="/0/virtualSuffix/%/%.1/%">
+ <details key="start" value="819"/>
+ <details key="end" value="848"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.20" references="/0/virtualSuffix/%/%.1/%/%">
+ <details key="start" value="820"/>
+ <details key="end" value="839"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.21" references="/0/virtualSuffix/%/%.1/%/%/operation">
+ <details key="start" value="820"/>
+ <details key="end" value="829"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.22" references="/0/virtualSuffix/%/%.1/%/%.1">
+ <details key="start" value="843"/>
+ <details key="end" value="847"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.23" references="/0/virtualSuffix/%/%.1/%.1">
+ <details key="start" value="852"/>
+ <details key="end" value="874"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.24" references="/0/virtualSuffix/%/%.1/%.1/operation">
+ <details key="start" value="853"/>
+ <details key="end" value="862"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.25" references="/0/virtualSuffix/operation">
+ <details key="start" value="791"/>
+ <details key="end" value="812"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.26" references="/0/ConsDestructorOrVoid">
+ <details key="start" value="900"/>
+ <details key="end" value="1058"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ <eAnnotations source="positions.27" references="/0/ConsDestructorOrVoid/operation">
+ <details key="start" value="935"/>
+ <details key="end" value="956"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ <eAnnotations source="positions.28" references="/0/ConsDestructorOrVoid/%">
+ <details key="start" value="969"/>
+ <details key="end" value="1056"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.29" references="/0/ConsDestructorOrVoid/%/%">
+ <details key="start" value="972"/>
+ <details key="end" value="1027"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.30" references="/0/ConsDestructorOrVoid/%/%/%">
+ <details key="start" value="972"/>
+ <details key="end" value="997"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.31" references="/0/ConsDestructorOrVoid/%/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.32" references="/0/ConsDestructorOrVoid/%/%/%/%">
+ <details key="start" value="986"/>
+ <details key="end" value="996"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.33" references="/0/ConsDestructorOrVoid/%/%/%.1">
+ <details key="start" value="1001"/>
+ <details key="end" value="1027"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.34" references="/0/ConsDestructorOrVoid/%/%/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.35" references="/0/ConsDestructorOrVoid/%/%/%.1/%">
+ <details key="start" value="1015"/>
+ <details key="end" value="1026"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.36" references="/0/ConsDestructorOrVoid/%/%.1">
+ <details key="start" value="1034"/>
+ <details key="end" value="1036"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.37" references="/0/ConsDestructorOrVoid/%/%.2">
+ <details key="start" value="1043"/>
+ <details key="end" value="1050"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.38" references="/0/destructor">
+ <details key="start" value="1061"/>
+ <details key="end" value="1176"/>
+ <details key="line" value="28"/>
+ </eAnnotations>
+ <eAnnotations source="positions.39" references="/0/destructor/operation">
+ <details key="start" value="1086"/>
+ <details key="end" value="1107"/>
+ <details key="line" value="28"/>
+ </eAnnotations>
+ <eAnnotations source="positions.40" references="/0/destructor/%">
+ <details key="start" value="1120"/>
+ <details key="end" value="1174"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.41" references="/0/destructor/%/%">
+ <details key="start" value="1123"/>
+ <details key="end" value="1149"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.42" references="/0/destructor/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.43" references="/0/destructor/%/%/%">
+ <details key="start" value="1137"/>
+ <details key="end" value="1148"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.44" references="/0/destructor/%/%.1">
+ <details key="start" value="1156"/>
+ <details key="end" value="1159"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.45" references="/0/destructor/%/%.2">
+ <details key="start" value="1166"/>
+ <details key="end" value="1168"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.46" references="/0/CppReturnSpec">
+ <details key="start" value="1178"/>
+ <details key="end" value="1407"/>
+ <details key="line" value="35"/>
+ </eAnnotations>
+ <eAnnotations source="positions.47" references="/0/CppReturnSpec/%">
+ <details key="start" value="1233"/>
+ <details key="end" value="1343"/>
+ <details key="line" value="36"/>
+ </eAnnotations>
+ <eAnnotations source="positions.48" references="/0/CppReturnSpec/%/%">
+ <details key="start" value="1252"/>
+ <details key="end" value="1274"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.49" references="/0/CppReturnSpec/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.50" references="/0/CppReturnSpec/%/%.1">
+ <details key="start" value="1237"/>
+ <details key="end" value="1250"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.51" references="/0/CppReturnSpec/%/%.1/%">
+ <details key="start" value="1238"/>
+ <details key="end" value="1242"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.52" references="/0/CppReturnSpec/%/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.53" references="/0/CppReturnSpec/%/%.1/%.1">
+ <details key="start" value="1245"/>
+ <details key="end" value="1249"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.54" references="/0/CppReturnSpec/%/%.2">
+ <details key="start" value="1276"/>
+ <details key="end" value="1338"/>
+ <details key="line" value="36"/>
+ </eAnnotations>
+ <eAnnotations source="positions.55" references="/0/CppReturnSpec/%/%.2/collect">
+ <details key="start" value="1283"/>
+ <details key="end" value="1308"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.56" references="/0/CppReturnSpec/%/%.2/collect/%">
+ <details key="start" value="1283"/>
+ <details key="end" value="1297"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.57" references="/0/CppReturnSpec/%/%.2/collect/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.58" references="/0/CppReturnSpec/%/%.2/collect/%.1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.59" references="/0/CppReturnSpec/%/%.2/collect/%.1/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.60" references="/0/CppReturnSpec/%/%.2/collect/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.61" references="/0/CppReturnSpec/%/%.2/%">
+ <details key="start" value="1310"/>
+ <details key="end" value="1311"/>
+ <details key="line" value="36"/>
+ </eAnnotations>
+ <eAnnotations source="positions.62" references="/0/CppReturnSpec/%/%.2/%.1">
+ <details key="start" value="1312"/>
+ <details key="end" value="1335"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.63" references="/0/CppReturnSpec/%/%.2/%.1/%">
+ <details key="start" value="1312"/>
+ <details key="end" value="1316"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.64" references="/0/CppReturnSpec/%/%.2/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.65" references="/0/CppReturnSpec/%/%.2/%.2">
+ <details key="start" value="1337"/>
+ <details key="end" value="1338"/>
+ <details key="line" value="36"/>
+ </eAnnotations>
+ <eAnnotations source="positions.66" references="/0/CppReturnSpec/collect">
+ <details key="start" value="1344"/>
+ <details key="end" value="1367"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.67" references="/0/CppReturnSpec/collect/%">
+ <details key="start" value="1344"/>
+ <details key="end" value="1358"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.68" references="/0/CppReturnSpec/collect/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.69" references="/0/CppReturnSpec/collect/%.1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.70" references="/0/CppReturnSpec/collect/%.1/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.71" references="/0/CppReturnSpec/collect/temp2">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.72" references="/0/CppReturnSpec/collect.1">
+ <details key="start" value="1370"/>
+ <details key="end" value="1393"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.73" references="/0/CppReturnSpec/collect.1/%">
+ <details key="start" value="1370"/>
+ <details key="end" value="1384"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.74" references="/0/CppReturnSpec/collect.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.75" references="/0/CppReturnSpec/collect.1/%.1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.76" references="/0/CppReturnSpec/collect.1/%.1/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.77" references="/0/CppReturnSpec/collect.1/temp3">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.78" references="/0/CppReturnSpec/operation">
+ <details key="start" value="1209"/>
+ <details key="end" value="1230"/>
+ <details key="line" value="35"/>
+ </eAnnotations>
+ <eAnnotations source="positions.79" references="/0/InlineTxt">
+ <details key="start" value="1410"/>
+ <details key="end" value="1509"/>
+ <details key="line" value="40"/>
+ </eAnnotations>
+ <eAnnotations source="positions.80" references="/0/InlineTxt/%">
+ <details key="start" value="1457"/>
+ <details key="end" value="1497"/>
+ <details key="line" value="41"/>
+ </eAnnotations>
+ <eAnnotations source="positions.81" references="/0/InlineTxt/%/%">
+ <details key="start" value="1485"/>
+ <details key="end" value="1492"/>
+ <details key="line" value="41"/>
+ </eAnnotations>
+ <eAnnotations source="positions.82" references="/0/InlineTxt/%/%.1">
+ <details key="start" value="1461"/>
+ <details key="end" value="1484"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.83" references="/0/InlineTxt/%/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.84" references="/0/InlineTxt/%/%.1/%">
+ <details key="start" value="1476"/>
+ <details key="end" value="1482"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.85" references="/0/InlineTxt/element">
+ <details key="start" value="1437"/>
+ <details key="end" value="1454"/>
+ <details key="line" value="40"/>
+ </eAnnotations>
+ <eAnnotations source="positions.86" references="/0/staticTxt">
+ <details key="start" value="1512"/>
+ <details key="end" value="1602"/>
+ <details key="line" value="45"/>
+ </eAnnotations>
+ <eAnnotations source="positions.87" references="/0/staticTxt/%">
+ <details key="start" value="1563"/>
+ <details key="end" value="1590"/>
+ <details key="line" value="46"/>
+ </eAnnotations>
+ <eAnnotations source="positions.88" references="/0/staticTxt/%/%">
+ <details key="start" value="1578"/>
+ <details key="end" value="1585"/>
+ <details key="line" value="46"/>
+ </eAnnotations>
+ <eAnnotations source="positions.89" references="/0/staticTxt/%/%.1">
+ <details key="start" value="1567"/>
+ <details key="end" value="1577"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.90" references="/0/staticTxt/%/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.91" references="/0/staticTxt/operation">
+ <details key="start" value="1539"/>
+ <details key="end" value="1560"/>
+ <details key="line" value="45"/>
+ </eAnnotations>
+ <eAnnotations source="positions.92" references="/0/CppOperationDeclaration">
+ <details key="start" value="1604"/>
+ <details key="end" value="1861"/>
+ <details key="line" value="49"/>
+ </eAnnotations>
+ <eAnnotations source="positions.93" references="/0/CppOperationDeclaration/%">
+ <details key="start" value="1670"/>
+ <details key="end" value="1687"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.94" references="/0/CppOperationDeclaration/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.95" references="/0/CppOperationDeclaration/%.1">
+ <details key="start" value="1689"/>
+ <details key="end" value="1690"/>
+ <details key="line" value="51"/>
+ </eAnnotations>
+ <eAnnotations source="positions.96" references="/0/CppOperationDeclaration/%.2">
+ <details key="start" value="1691"/>
+ <details key="end" value="1702"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.97" references="/0/CppOperationDeclaration/%.2/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.98" references="/0/CppOperationDeclaration/%.3">
+ <details key="start" value="1705"/>
+ <details key="end" value="1717"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.99" references="/0/CppOperationDeclaration/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.100" references="/0/CppOperationDeclaration/%.4">
+ <details key="start" value="1720"/>
+ <details key="end" value="1731"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.101" references="/0/CppOperationDeclaration/%.4/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.102" references="/0/CppOperationDeclaration/%.5">
+ <details key="start" value="1734"/>
+ <details key="end" value="1749"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.103" references="/0/CppOperationDeclaration/%.5/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.104" references="/0/CppOperationDeclaration/%.6">
+ <details key="start" value="1751"/>
+ <details key="end" value="1752"/>
+ <details key="line" value="51"/>
+ </eAnnotations>
+ <eAnnotations source="positions.105" references="/0/CppOperationDeclaration/%.7">
+ <details key="start" value="1753"/>
+ <details key="end" value="1765"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.106" references="/0/CppOperationDeclaration/%.7/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.107" references="/0/CppOperationDeclaration/%.8">
+ <details key="start" value="1768"/>
+ <details key="end" value="1782"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.108" references="/0/CppOperationDeclaration/%.8/operation">
+ <details key="start" value="1768"/>
+ <details key="end" value="1777"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.109" references="/0/CppOperationDeclaration/%.9">
+ <details key="start" value="1784"/>
+ <details key="end" value="1785"/>
+ <details key="line" value="51"/>
+ </eAnnotations>
+ <eAnnotations source="positions.110" references="/0/CppOperationDeclaration/%.10">
+ <details key="start" value="1786"/>
+ <details key="end" value="1814"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.111" references="/0/CppOperationDeclaration/%.10/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.112" references="/0/CppOperationDeclaration/%.10/%">
+ <details key="start" value="1809"/>
+ <details key="end" value="1813"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.113" references="/0/CppOperationDeclaration/%.11">
+ <details key="start" value="1816"/>
+ <details key="end" value="1817"/>
+ <details key="line" value="51"/>
+ </eAnnotations>
+ <eAnnotations source="positions.114" references="/0/CppOperationDeclaration/%.12">
+ <details key="start" value="1818"/>
+ <details key="end" value="1828"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.115" references="/0/CppOperationDeclaration/%.12/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.116" references="/0/CppOperationDeclaration/%.13">
+ <details key="start" value="1831"/>
+ <details key="end" value="1846"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.117" references="/0/CppOperationDeclaration/%.13/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.118" references="/0/CppOperationDeclaration/%.14">
+ <details key="start" value="1848"/>
+ <details key="end" value="1849"/>
+ <details key="line" value="51"/>
+ </eAnnotations>
+ <eAnnotations source="positions.119" references="/0/CppOperationDeclaration/operation">
+ <details key="start" value="1645"/>
+ <details key="end" value="1666"/>
+ <details key="line" value="49"/>
+ </eAnnotations>
+ <eAnnotations source="positions.120" references="/0/CppConstInit">
+ <details key="start" value="1864"/>
+ <details key="end" value="2063"/>
+ <details key="line" value="55"/>
+ </eAnnotations>
+ <eAnnotations source="positions.121" references="/0/CppConstInit/%">
+ <details key="start" value="1918"/>
+ <details key="end" value="2051"/>
+ <details key="line" value="56"/>
+ </eAnnotations>
+ <eAnnotations source="positions.122" references="/0/CppConstInit/%/%">
+ <details key="start" value="1979"/>
+ <details key="end" value="1982"/>
+ <details key="line" value="56"/>
+ </eAnnotations>
+ <eAnnotations source="positions.123" references="/0/CppConstInit/%/%.1">
+ <details key="start" value="1983"/>
+ <details key="end" value="2044"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.124" references="/0/CppConstInit/%/%.1/%">
+ <details key="start" value="1983"/>
+ <details key="end" value="2029"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.125" references="/0/CppConstInit/%/%.1/%/%">
+ <details key="start" value="1983"/>
+ <details key="end" value="2008"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.126" references="/0/CppConstInit/%/%.1/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.127" references="/0/CppConstInit/%/%.1/%/%/%">
+ <details key="start" value="1998"/>
+ <details key="end" value="2007"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.128" references="/0/CppConstInit/%/%.1/%/%.1">
+ <details key="start" value="2019"/>
+ <details key="end" value="2028"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.129" references="/0/CppConstInit/%/%.2">
+ <details key="start" value="1922"/>
+ <details key="end" value="1978"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.130" references="/0/CppConstInit/%/%.2/%">
+ <details key="start" value="1923"/>
+ <details key="end" value="1947"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.131" references="/0/CppConstInit/%/%.2/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.132" references="/0/CppConstInit/%/%.2/%/%">
+ <details key="start" value="1937"/>
+ <details key="end" value="1946"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.133" references="/0/CppConstInit/%/%.2/%.1">
+ <details key="start" value="1952"/>
+ <details key="end" value="1977"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.134" references="/0/CppConstInit/%/%.2/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.135" references="/0/CppConstInit/%/%.2/%.1/%">
+ <details key="start" value="1966"/>
+ <details key="end" value="1976"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.136" references="/0/CppConstInit/operation">
+ <details key="start" value="1894"/>
+ <details key="end" value="1915"/>
+ <details key="line" value="55"/>
+ </eAnnotations>
+ <eAnnotations source="positions.137" references="/0/%">
+ <details key="start" value="2066"/>
+ <details key="end" value="2146"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.138" references="/0/getBodyInTemplate">
+ <details key="start" value="2147"/>
+ <details key="end" value="2264"/>
+ <details key="line" value="61"/>
+ </eAnnotations>
+ <eAnnotations source="positions.139" references="/0/getBodyInTemplate/%">
+ <details key="start" value="2226"/>
+ <details key="end" value="2250"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.140" references="/0/getBodyInTemplate/%/%">
+ <details key="start" value="2226"/>
+ <details key="end" value="2243"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.141" references="/0/getBodyInTemplate/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.142" references="/0/getBodyInTemplate/%/%/language">
+ <details key="start" value="2234"/>
+ <details key="end" value="2242"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.143" references="/0/getBodyInTemplate/operation">
+ <details key="start" value="2182"/>
+ <details key="end" value="2203"/>
+ <details key="line" value="61"/>
+ </eAnnotations>
+ <eAnnotations source="positions.144" references="/0/getBodyInTemplate/language">
+ <details key="start" value="2205"/>
+ <details key="end" value="2222"/>
+ <details key="line" value="61"/>
+ </eAnnotations>
+ <eAnnotations source="positions.145" references="/0/throws">
+ <details key="start" value="2267"/>
+ <details key="end" value="2435"/>
+ <details key="line" value="66"/>
+ </eAnnotations>
+ <eAnnotations source="positions.146" references="/0/throws/%">
+ <details key="start" value="2314"/>
+ <details key="end" value="2423"/>
+ <details key="line" value="67"/>
+ </eAnnotations>
+ <eAnnotations source="positions.147" references="/0/throws/%/%">
+ <details key="start" value="2359"/>
+ <details key="end" value="2366"/>
+ <details key="line" value="68"/>
+ </eAnnotations>
+ <eAnnotations source="positions.148" references="/0/throws/%/%.1">
+ <details key="start" value="2366"/>
+ <details key="end" value="2417"/>
+ <details key="line" value="68"/>
+ </eAnnotations>
+ <eAnnotations source="positions.149" references="/0/throws/%/%.1/%">
+ <details key="start" value="2405"/>
+ <details key="end" value="2409"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.150" references="/0/throws/%/%.1/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.151" references="/0/throws/%/%.1/%.1">
+ <details key="start" value="2372"/>
+ <details key="end" value="2387"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.152" references="/0/throws/%/%.1/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.153" references="/0/throws/%/%.1/%.2">
+ <details key="start" value="2399"/>
+ <details key="end" value="2402"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.154" references="/0/throws/%/%.2">
+ <details key="start" value="2417"/>
+ <details key="end" value="2418"/>
+ <details key="line" value="69"/>
+ </eAnnotations>
+ <eAnnotations source="positions.155" references="/0/throws/%/%.3">
+ <details key="start" value="2318"/>
+ <details key="end" value="2357"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.156" references="/0/throws/%/%.3/%">
+ <details key="start" value="2319"/>
+ <details key="end" value="2352"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.157" references="/0/throws/%/%.3/%/%">
+ <details key="start" value="2319"/>
+ <details key="end" value="2344"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.158" references="/0/throws/%/%.3/%/%/operation">
+ <details key="start" value="2319"/>
+ <details key="end" value="2328"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.159" references="/0/throws/%/%.3/%.1">
+ <details key="start" value="2355"/>
+ <details key="end" value="2356"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.160" references="/0/throws/operation">
+ <details key="start" value="2291"/>
+ <details key="end" value="2311"/>
+ <details key="line" value="66"/>
+ </eAnnotations>
+ <eAnnotations source="positions.161" references="/0/CppOperationImplementation">
+ <details key="start" value="2438"/>
+ <details key="end" value="2926"/>
+ <details key="line" value="73"/>
+ </eAnnotations>
+ <eAnnotations source="positions.162" references="/0/CppOperationImplementation/%">
+ <details key="start" value="2507"/>
+ <details key="end" value="2524"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.163" references="/0/CppOperationImplementation/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.164" references="/0/CppOperationImplementation/%.1">
+ <details key="start" value="2526"/>
+ <details key="end" value="2527"/>
+ <details key="line" value="75"/>
+ </eAnnotations>
+ <eAnnotations source="positions.165" references="/0/CppOperationImplementation/%.2">
+ <details key="start" value="2527"/>
+ <details key="end" value="2914"/>
+ <details key="line" value="75"/>
+ </eAnnotations>
+ <eAnnotations source="positions.166" references="/0/CppOperationImplementation/%.2/%">
+ <details key="start" value="2559"/>
+ <details key="end" value="2574"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.167" references="/0/CppOperationImplementation/%.2/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.168" references="/0/CppOperationImplementation/%.2/%.1">
+ <details key="start" value="2577"/>
+ <details key="end" value="2591"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.169" references="/0/CppOperationImplementation/%.2/%.1/operation">
+ <details key="start" value="2577"/>
+ <details key="end" value="2586"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.170" references="/0/CppOperationImplementation/%.2/%.2">
+ <details key="start" value="2593"/>
+ <details key="end" value="2594"/>
+ <details key="line" value="76"/>
+ </eAnnotations>
+ <eAnnotations source="positions.171" references="/0/CppOperationImplementation/%.2/%.3">
+ <details key="start" value="2595"/>
+ <details key="end" value="2624"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.172" references="/0/CppOperationImplementation/%.2/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.173" references="/0/CppOperationImplementation/%.2/%.3/%">
+ <details key="start" value="2618"/>
+ <details key="end" value="2623"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.174" references="/0/CppOperationImplementation/%.2/%.4">
+ <details key="start" value="2626"/>
+ <details key="end" value="2631"/>
+ <details key="line" value="76"/>
+ </eAnnotations>
+ <eAnnotations source="positions.175" references="/0/CppOperationImplementation/%.2/%.5">
+ <details key="start" value="2632"/>
+ <details key="end" value="2648"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.176" references="/0/CppOperationImplementation/%.2/%.5/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.177" references="/0/CppOperationImplementation/%.2/%.5/%">
+ <details key="start" value="2640"/>
+ <details key="end" value="2647"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.178" references="/0/CppOperationImplementation/%.2/%.6">
+ <details key="start" value="2650"/>
+ <details key="end" value="2653"/>
+ <details key="line" value="78"/>
+ </eAnnotations>
+ <eAnnotations source="positions.179" references="/0/CppOperationImplementation/%.2/%.7">
+ <details key="start" value="2531"/>
+ <details key="end" value="2556"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.180" references="/0/CppOperationImplementation/%.2/%.7/%">
+ <details key="start" value="2532"/>
+ <details key="end" value="2546"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.181" references="/0/CppOperationImplementation/%.2/%.7/%/operation">
+ <details key="start" value="2532"/>
+ <details key="end" value="2541"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.182" references="/0/CppOperationImplementation/%.2/%.7/%.1">
+ <details key="start" value="2549"/>
+ <details key="end" value="2555"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.183" references="/0/CppOperationImplementation/%.2/%.8">
+ <details key="start" value="2653"/>
+ <details key="end" value="2909"/>
+ <details key="line" value="79"/>
+ </eAnnotations>
+ <eAnnotations source="positions.184" references="/0/CppOperationImplementation/%.2/%.8/%">
+ <details key="start" value="2661"/>
+ <details key="end" value="2680"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.185" references="/0/CppOperationImplementation/%.2/%.8/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.186" references="/0/CppOperationImplementation/%.2/%.8/%.1">
+ <details key="start" value="2683"/>
+ <details key="end" value="2694"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.187" references="/0/CppOperationImplementation/%.2/%.8/%.1/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.188" references="/0/CppOperationImplementation/%.2/%.8/%.2">
+ <details key="start" value="2697"/>
+ <details key="end" value="2712"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.189" references="/0/CppOperationImplementation/%.2/%.8/%.2/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.190" references="/0/CppOperationImplementation/%.2/%.8/%.3">
+ <details key="start" value="2715"/>
+ <details key="end" value="2735"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.191" references="/0/CppOperationImplementation/%.2/%.8/%.3/%">
+ <details key="start" value="2715"/>
+ <details key="end" value="2730"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.192" references="/0/CppOperationImplementation/%.2/%.8/%.3/%/operation">
+ <details key="start" value="2715"/>
+ <details key="end" value="2724"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.193" references="/0/CppOperationImplementation/%.2/%.8/%.4">
+ <details key="start" value="2738"/>
+ <details key="end" value="2762"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.194" references="/0/CppOperationImplementation/%.2/%.8/%.4/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.195" references="/0/CppOperationImplementation/%.2/%.8/%.5">
+ <details key="start" value="2764"/>
+ <details key="end" value="2766"/>
+ <details key="line" value="80"/>
+ </eAnnotations>
+ <eAnnotations source="positions.196" references="/0/CppOperationImplementation/%.2/%.8/%.6">
+ <details key="start" value="2767"/>
+ <details key="end" value="2779"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.197" references="/0/CppOperationImplementation/%.2/%.8/%.6/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.198" references="/0/CppOperationImplementation/%.2/%.8/%.7">
+ <details key="start" value="2782"/>
+ <details key="end" value="2796"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.199" references="/0/CppOperationImplementation/%.2/%.8/%.7/operation">
+ <details key="start" value="2782"/>
+ <details key="end" value="2791"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.200" references="/0/CppOperationImplementation/%.2/%.8/%.8">
+ <details key="start" value="2798"/>
+ <details key="end" value="2799"/>
+ <details key="line" value="80"/>
+ </eAnnotations>
+ <eAnnotations source="positions.201" references="/0/CppOperationImplementation/%.2/%.8/%.9">
+ <details key="start" value="2800"/>
+ <details key="end" value="2829"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.202" references="/0/CppOperationImplementation/%.2/%.8/%.9/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.203" references="/0/CppOperationImplementation/%.2/%.8/%.9/%">
+ <details key="start" value="2823"/>
+ <details key="end" value="2828"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.204" references="/0/CppOperationImplementation/%.2/%.8/%.10">
+ <details key="start" value="2831"/>
+ <details key="end" value="2832"/>
+ <details key="line" value="80"/>
+ </eAnnotations>
+ <eAnnotations source="positions.205" references="/0/CppOperationImplementation/%.2/%.8/%.11">
+ <details key="start" value="2833"/>
+ <details key="end" value="2841"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.206" references="/0/CppOperationImplementation/%.2/%.8/%.11/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.207" references="/0/CppOperationImplementation/%.2/%.8/%.12">
+ <details key="start" value="2844"/>
+ <details key="end" value="2854"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.208" references="/0/CppOperationImplementation/%.2/%.8/%.12/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.209" references="/0/CppOperationImplementation/%.2/%.8/%.13">
+ <details key="start" value="2857"/>
+ <details key="end" value="2871"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.210" references="/0/CppOperationImplementation/%.2/%.8/%.13/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.211" references="/0/CppOperationImplementation/%.2/%.8/%.14">
+ <details key="start" value="2873"/>
+ <details key="end" value="2877"/>
+ <details key="line" value="80"/>
+ </eAnnotations>
+ <eAnnotations source="positions.212" references="/0/CppOperationImplementation/%.2/%.8/%.15">
+ <details key="start" value="2878"/>
+ <details key="end" value="2904"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.213" references="/0/CppOperationImplementation/%.2/%.8/%.15/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.214" references="/0/CppOperationImplementation/%.2/%.8/%.15/%">
+ <details key="start" value="2896"/>
+ <details key="end" value="2903"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.215" references="/0/CppOperationImplementation/%.2/%.8/%.16">
+ <details key="start" value="2906"/>
+ <details key="end" value="2909"/>
+ <details key="line" value="82"/>
+ </eAnnotations>
+ <eAnnotations source="positions.216" references="/0/CppOperationImplementation/operation">
+ <details key="start" value="2482"/>
+ <details key="end" value="2503"/>
+ <details key="line" value="73"/>
+ </eAnnotations>
+ </ecore:EAnnotation>
+</xmi:XMI>
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl
index 7e48222a84c..4dc7d84ca9f 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl
@@ -1,5 +1,6 @@
[module CppOperations('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1', 'http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2')/]
-[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::Modifier/]
[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/]
[import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppParameter/]
@@ -32,7 +33,7 @@ else
endif/]
[template public CppReturnSpec(operation : Operation)]
-[if (type = null)][ConsDestructorOrVoid()/][else][returnResult().modConst()/] [type.qualifiedName()/] [/if][returnResult().modPtr()/][returnResult().modRef()/]
+[if (type = null)][ConsDestructorOrVoid()/][else][returnResult().modConst()/] [type.cppQualifiedName()/] [/if][returnResult().modPtr()/][returnResult().modRef()/]
[/template]
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl
index 2aaf2705739..f351d6f1af4 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl
@@ -1,733 +1,737 @@
-<?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="CppParameter" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppParameter" endHeaderPosition="61">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../utils/Modifier.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
- <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:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- <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="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </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#//Default/value"/>
- </body>
- <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.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#//Parameter"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="378" endPosition="509" value=" C++ parameter. Default values are added, if parameter showDefault is true (implementation signature&#xA;&#x9;may not repeat default value)"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppParameter" 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/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <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:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/CppParameter/parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modPtr"/>
- <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#//Parameter"/>
- </argument>
- </body>
- <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/Modifier.emtl#/0/modRef"/>
- <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#//Parameter"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <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="parameter" referredVariable="/0/CppParameter/parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <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/Modifier.emtl#/0/modArray"/>
- <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#//Parameter"/>
- </argument>
- </body>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue">
- <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="/20">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <ifExpr xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppParameter/showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </ifExpr>
- </body>
- <parameter name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </parameter>
- <parameter name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationParameters" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParameter">
- <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="/29">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- <argument xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppOperationParameters/showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/25/OrderedSet(Parameter)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/OrderedSet(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/>
- </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#//ParameterDirectionKind"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppOperationParameters/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter/direction"/>
- </source>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind/return"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- <parameter name="showDefault">
- <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="defaultValue">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/defaultValue"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppParameter">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppParameter"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eParameters>
- <eParameters name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationParameters">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOperationParameters"/>
- <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>
- <eParameters name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </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>
- <eOperations name="modPtr">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modPtr"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modRef">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modRef"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modArray">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modArray"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modConst">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modConst"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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="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="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="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#//Parameter"/>
- </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#//Parameter"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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#//Parameter"/>
- </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#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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#//Operation"/>
- </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#//Operation"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eClassifiers>
- </ecore:EPackage>
- <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#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </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="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/defaultValue">
- <details key="start" value="193"/>
- <details key="end" value="368"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/defaultValue/%">
- <details key="start" value="247"/>
- <details key="end" value="356"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/defaultValue/%/%">
- <details key="start" value="283"/>
- <details key="end" value="286"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1">
- <details key="start" value="287"/>
- <details key="end" value="349"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%">
- <details key="start" value="287"/>
- <details key="end" value="343"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/%">
- <details key="start" value="287"/>
- <details key="end" value="317"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/defaultValue/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/defaultValue/%/%.1/%/%/%">
- <details key="start" value="302"/>
- <details key="end" value="316"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/defaultValue/%/%.1/%/%.1">
- <details key="start" value="328"/>
- <details key="end" value="342"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2">
- <details key="start" value="251"/>
- <details key="end" value="282"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%">
- <details key="start" value="266"/>
- <details key="end" value="280"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/defaultValue/parameter">
- <details key="start" value="223"/>
- <details key="end" value="244"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/%">
- <details key="start" value="370"/>
- <details key="end" value="511"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppParameter">
- <details key="start" value="512"/>
- <details key="end" value="740"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppParameter/%">
- <details key="start" value="590"/>
- <details key="end" value="600"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppParameter/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppParameter/%.1">
- <details key="start" value="603"/>
- <details key="end" value="633"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppParameter/%.1/%">
- <details key="start" value="603"/>
- <details key="end" value="617"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppParameter/%.1/%/parameter">
- <details key="start" value="603"/>
- <details key="end" value="612"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppParameter/%.2">
- <details key="start" value="636"/>
- <details key="end" value="644"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppParameter/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppParameter/%.3">
- <details key="start" value="647"/>
- <details key="end" value="655"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppParameter/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppParameter/%.4">
- <details key="start" value="657"/>
- <details key="end" value="658"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppParameter/%.5">
- <details key="start" value="659"/>
- <details key="end" value="673"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppParameter/%.5/parameter">
- <details key="start" value="659"/>
- <details key="end" value="668"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppParameter/%.6">
- <details key="start" value="676"/>
- <details key="end" value="686"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppParameter/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppParameter/%.7">
- <details key="start" value="688"/>
- <details key="end" value="728"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppParameter/%.7/%">
- <details key="start" value="707"/>
- <details key="end" value="721"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppParameter/%.7/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppParameter/%.7/showDefault">
- <details key="start" value="692"/>
- <details key="end" value="705"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppParameter/parameter">
- <details key="start" value="542"/>
- <details key="end" value="563"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppParameter/showDefault">
- <details key="start" value="565"/>
- <details key="end" value="586"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppOperationParameters">
- <details key="start" value="743"/>
- <details key="end" value="967"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppOperationParameters/%">
- <details key="start" value="830"/>
- <details key="end" value="955"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppOperationParameters/%/%">
- <details key="start" value="922"/>
- <details key="end" value="947"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppOperationParameters/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppOperationParameters/%/%/showDefault">
- <details key="start" value="935"/>
- <details key="end" value="946"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppOperationParameters/%/select">
- <details key="start" value="836"/>
- <details key="end" value="903"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppOperationParameters/%/select/%">
- <details key="start" value="836"/>
- <details key="end" value="850"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppOperationParameters/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppOperationParameters/%/select/%.1">
- <details key="start" value="859"/>
- <details key="end" value="902"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppOperationParameters/%/select/%.1/%">
- <details key="start" value="859"/>
- <details key="end" value="868"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppOperationParameters/%/select/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppOperationParameters/%/select/%.1/%.1">
- <details key="start" value="872"/>
- <details key="end" value="902"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppOperationParameters/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppOperationParameters/%/%.1">
- <details key="start" value="915"/>
- <details key="end" value="919"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppOperationParameters/operation">
- <details key="start" value="783"/>
- <details key="end" value="804"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppOperationParameters/showDefault">
- <details key="start" value="806"/>
- <details key="end" value="827"/>
- <details key="line" value="18"/>
- </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="CppParameter" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppParameter" endHeaderPosition="103">
+ <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/Modifier.emtl#/0"/>
+ <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public">
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
+ <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:OperationCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
+ <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="/8">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
+ </argument>
+ </source>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
+ </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#//Default/value"/>
+ </body>
+ <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.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#//Parameter"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
+ </argument>
+ </ifExpr>
+ </body>
+ <parameter name="parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Comment">
+ <body startPosition="475" endPosition="606" value=" C++ parameter. Default values are added, if parameter showDefault is true (implementation signature&#xA;&#x9;may not repeat default value)"/>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppParameter" 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/Modifier.emtl#/0/modConst"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ </body>
+ <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:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/CppParameter/parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modPtr"/>
+ <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#//Parameter"/>
+ </argument>
+ </body>
+ <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/Modifier.emtl#/0/modRef"/>
+ <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#//Parameter"/>
+ </argument>
+ </body>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
+ <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="parameter" referredVariable="/0/CppParameter/parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </body>
+ <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/Modifier.emtl#/0/modArray"/>
+ <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#//Parameter"/>
+ </argument>
+ </body>
+ <body xsi:type="mtl:IfBlock">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue">
+ <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="/20">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ </body>
+ <ifExpr xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppParameter/showDefault">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </ifExpr>
+ </body>
+ <parameter name="parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </parameter>
+ <parameter name="showDefault">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </parameter>
+ </ownedModuleElement>
+ <ownedModuleElement xsi:type="mtl:Template" name="CppOperationParameters" visibility="Public">
+ <body xsi:type="mtl:ForBlock">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParameter">
+ <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="/29">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppOperationParameters/showDefault">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </argument>
+ </body>
+ <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/25/OrderedSet(Parameter)">
+ <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/OrderedSet(Parameter)">
+ <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </source>
+ <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/>
+ </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#//ParameterDirectionKind"/>
+ <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppOperationParameters/%/select/temp1">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </source>
+ <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter/direction"/>
+ </source>
+ <argument xsi:type="ocl.ecore:EnumLiteralExp">
+ <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/>
+ <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind/return"/>
+ </argument>
+ <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
+ </body>
+ <iterator xsi:type="ocl.ecore:Variable" name="temp1">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </iterator>
+ </iterSet>
+ <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </each>
+ </body>
+ <parameter name="operation">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </parameter>
+ <parameter name="showDefault">
+ <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="defaultValue">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/defaultValue"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CppParameter">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppParameter"/>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="parameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </eParameters>
+ <eParameters name="showDefault">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CppOperationParameters">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL" references="/0/CppOperationParameters"/>
+ <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>
+ <eParameters name="showDefault">
+ <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="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>
+ <eOperations name="modPtr">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../../utils/Modifier.emtl#/0/modPtr"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modRef">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../../utils/Modifier.emtl#/0/modRef"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modArray">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../../utils/Modifier.emtl#/0/modArray"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </eParameters>
+ </eOperations>
+ <eOperations name="modConst">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <contents xsi:type="ocl.ecore:Constraint"/>
+ </eAnnotations>
+ <eAnnotations source="MTL">
+ <references href="../../../utils/Modifier.emtl#/0/modConst"/>
+ </eAnnotations>
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <eParameters name="propertyOrParameter">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
+ </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="Parameter_Class">
+ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
+ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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="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="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="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#//Parameter"/>
+ </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#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="types">
+ <eClassifiers xsi:type="ocl.ecore:TypeType" name="Default">
+ <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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#//Parameter"/>
+ </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#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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#//Operation"/>
+ </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#//Operation"/>
+ </ocl.ecore:Variable>
+ <ecore:EPackage name="collections">
+ <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet">
+ <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </eClassifiers>
+ </ecore:EPackage>
+ <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#//Parameter"/>
+ </ocl.ecore:Variable>
+ <ocl.ecore:Variable name="self">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
+ </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="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/defaultValue">
+ <details key="start" value="290"/>
+ <details key="end" value="465"/>
+ <details key="line" value="9"/>
+ </eAnnotations>
+ <eAnnotations source="positions.1" references="/0/defaultValue/%">
+ <details key="start" value="344"/>
+ <details key="end" value="453"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.2" references="/0/defaultValue/%/%">
+ <details key="start" value="380"/>
+ <details key="end" value="383"/>
+ <details key="line" value="10"/>
+ </eAnnotations>
+ <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1">
+ <details key="start" value="384"/>
+ <details key="end" value="446"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%">
+ <details key="start" value="384"/>
+ <details key="end" value="440"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/%">
+ <details key="start" value="384"/>
+ <details key="end" value="414"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.6" references="/0/defaultValue/%/%.1/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.7" references="/0/defaultValue/%/%.1/%/%/%">
+ <details key="start" value="399"/>
+ <details key="end" value="413"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.8" references="/0/defaultValue/%/%.1/%/%.1">
+ <details key="start" value="425"/>
+ <details key="end" value="439"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2">
+ <details key="start" value="348"/>
+ <details key="end" value="379"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%">
+ <details key="start" value="363"/>
+ <details key="end" value="377"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.12" references="/0/defaultValue/parameter">
+ <details key="start" value="320"/>
+ <details key="end" value="341"/>
+ <details key="line" value="9"/>
+ </eAnnotations>
+ <eAnnotations source="positions.13" references="/0/%">
+ <details key="start" value="467"/>
+ <details key="end" value="608"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.14" references="/0/CppParameter">
+ <details key="start" value="609"/>
+ <details key="end" value="840"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.15" references="/0/CppParameter/%">
+ <details key="start" value="687"/>
+ <details key="end" value="697"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.16" references="/0/CppParameter/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.17" references="/0/CppParameter/%.1">
+ <details key="start" value="700"/>
+ <details key="end" value="733"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.18" references="/0/CppParameter/%.1/%">
+ <details key="start" value="700"/>
+ <details key="end" value="714"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.19" references="/0/CppParameter/%.1/%/parameter">
+ <details key="start" value="700"/>
+ <details key="end" value="709"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.20" references="/0/CppParameter/%.2">
+ <details key="start" value="736"/>
+ <details key="end" value="744"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.21" references="/0/CppParameter/%.2/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.22" references="/0/CppParameter/%.3">
+ <details key="start" value="747"/>
+ <details key="end" value="755"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.23" references="/0/CppParameter/%.3/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.24" references="/0/CppParameter/%.4">
+ <details key="start" value="757"/>
+ <details key="end" value="758"/>
+ <details key="line" value="16"/>
+ </eAnnotations>
+ <eAnnotations source="positions.25" references="/0/CppParameter/%.5">
+ <details key="start" value="759"/>
+ <details key="end" value="773"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.26" references="/0/CppParameter/%.5/parameter">
+ <details key="start" value="759"/>
+ <details key="end" value="768"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.27" references="/0/CppParameter/%.6">
+ <details key="start" value="776"/>
+ <details key="end" value="786"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.28" references="/0/CppParameter/%.6/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.29" references="/0/CppParameter/%.7">
+ <details key="start" value="788"/>
+ <details key="end" value="828"/>
+ <details key="line" value="16"/>
+ </eAnnotations>
+ <eAnnotations source="positions.30" references="/0/CppParameter/%.7/%">
+ <details key="start" value="807"/>
+ <details key="end" value="821"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.31" references="/0/CppParameter/%.7/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.32" references="/0/CppParameter/%.7/showDefault">
+ <details key="start" value="792"/>
+ <details key="end" value="805"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.33" references="/0/CppParameter/parameter">
+ <details key="start" value="639"/>
+ <details key="end" value="660"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.34" references="/0/CppParameter/showDefault">
+ <details key="start" value="662"/>
+ <details key="end" value="683"/>
+ <details key="line" value="15"/>
+ </eAnnotations>
+ <eAnnotations source="positions.35" references="/0/CppOperationParameters">
+ <details key="start" value="843"/>
+ <details key="end" value="1067"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ <eAnnotations source="positions.36" references="/0/CppOperationParameters/%">
+ <details key="start" value="930"/>
+ <details key="end" value="1055"/>
+ <details key="line" value="21"/>
+ </eAnnotations>
+ <eAnnotations source="positions.37" references="/0/CppOperationParameters/%/%">
+ <details key="start" value="1022"/>
+ <details key="end" value="1047"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.38" references="/0/CppOperationParameters/%/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.39" references="/0/CppOperationParameters/%/%/showDefault">
+ <details key="start" value="1035"/>
+ <details key="end" value="1046"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.40" references="/0/CppOperationParameters/%/select">
+ <details key="start" value="936"/>
+ <details key="end" value="1003"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.41" references="/0/CppOperationParameters/%/select/%">
+ <details key="start" value="936"/>
+ <details key="end" value="950"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.42" references="/0/CppOperationParameters/%/select/%/self">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.43" references="/0/CppOperationParameters/%/select/%.1">
+ <details key="start" value="959"/>
+ <details key="end" value="1002"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.44" references="/0/CppOperationParameters/%/select/%.1/%">
+ <details key="start" value="959"/>
+ <details key="end" value="968"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.45" references="/0/CppOperationParameters/%/select/%.1/%/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.46" references="/0/CppOperationParameters/%/select/%.1/%.1">
+ <details key="start" value="972"/>
+ <details key="end" value="1002"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.47" references="/0/CppOperationParameters/%/select/temp1">
+ <details key="start" value="-1"/>
+ <details key="end" value="-1"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.48" references="/0/CppOperationParameters/%/%.1">
+ <details key="start" value="1015"/>
+ <details key="end" value="1019"/>
+ <details key="line" value="0"/>
+ </eAnnotations>
+ <eAnnotations source="positions.49" references="/0/CppOperationParameters/operation">
+ <details key="start" value="883"/>
+ <details key="end" value="904"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ <eAnnotations source="positions.50" references="/0/CppOperationParameters/showDefault">
+ <details key="start" value="906"/>
+ <details key="end" value="927"/>
+ <details key="line" value="20"/>
+ </eAnnotations>
+ </ecore:EAnnotation>
+</xmi:XMI>
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl
index bf013aa089f..e59a3e26b42 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl
@@ -1,5 +1,7 @@
-[module CppParameter('http://www.eclipse.org/uml2/4.0.0/UML')/]
-[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/]
+[module CppParameter('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/]
+
[import org::eclipse::papyrus::cpp::codegen::utils::Modifier/]
@@ -11,7 +13,7 @@
[comment C++ parameter. Default values are added, if parameter showDefault is true (implementation signature
may not repeat default value)/]
[template public CppParameter(parameter : Parameter, showDefault : Boolean)]
-[modConst()/][parameter.type.qualifiedName()/][modPtr()/][modRef()/] [parameter.name/][modArray()/][if (showDefault)][defaultValue()/][/if]
+[modConst()/][parameter.type.cppQualifiedName()/][modPtr()/][modRef()/] [parameter.name/][modArray()/][if (showDefault)][defaultValue()/][/if]
[/template]

Back to the top