diff options
author | Ansgar Radermacher | 2013-08-09 13:15:33 +0000 |
---|---|---|
committer | Ansgar Radermacher | 2013-08-09 13:15:33 +0000 |
commit | c7da9455ebe50fb302bde9b9049f288511afbb2c (patch) | |
tree | cfaff2f9b660befb85db8d473f1e0392ff4122a8 /extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util | |
parent | 97aac38470f7ab344bf31301181b861d8699f7cc (diff) | |
download | org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.tar.gz org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.tar.xz org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.zip |
Refactored GenUtils with the objective to support multiple programming languages
- moved C++ independent part into org.eclipse.papyrus.acceleo plugin
- created CppGenUtils that contains now only C++ specific code
- subsequent changes in many .mtl and .emtl files
Diffstat (limited to 'extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util')
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="
"/>
- <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="	"/>
- <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="
	"/>
- <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="
"/>
- <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="
Loop over attributes. Check that the attribute is not a static const.
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="
"/>
- <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="

"/>
- <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="
"/> + <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="	"/> + <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="
	"/> + <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="
"/> + <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="
Loop over attributes. Check that the attribute is not a static const.
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="
"/> + <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="

"/> + <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="/**
 * "/>
- <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="
">
- <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="
 * ">
- <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="
 */"/>
- <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="/**
 * "/>
- <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="
">
- <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="
 * ">
- <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="
 * "/>
- <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="
 */"/>
- <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="
">
- <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="
 * ">
- <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="/**
 * "/> + <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="
"> + <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="
 * "> + <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="
 */"/> + <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="/**
 * "/> + <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="
"> + <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="
 * "> + <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="
 * "/> + <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="
 */"/> + <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="
"> + <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="
 * "> + <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="
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=" {
"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="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="
	"/>
- <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=",
"/>
- <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="};
"/>
- <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="
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=" {
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="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="
	"/> + <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=",
"/> + <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="};
"/> + <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="
 * Support two different kinds of primitive types
 * (1) those that are native types of the programming language such as long
 * For these, no additional definition has to be done and they should be referenced
 * with their name only
 * (2) those that correspond to a typedef (e.g. typedef long ErrorType). These require
 * a typedef definition within the package and need to be referenced with their
 * fully qualified name (e.g. MyPackage::ErrorType)
 * (3) Sometimes the name of the type defined by a typedef does not appear at the end, e.g.
 * when defining functionPointers such as "typedef int (*HandlerFct) (void*);"
 *	 (a function with a void* argument returning int)
 * Support this case via a specific 'typeName' constant that gets replaced by the name of the
 * type
 */
"/>
- </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="
"/>
- <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=";
"/>
- <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=";
"/>
- </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="
 * Support two different kinds of primitive types
 * (1) those that are native types of the programming language such as long
 * For these, no additional definition has to be done and they should be referenced
 * with their name only
 * (2) those that correspond to a typedef (e.g. typedef long ErrorType). These require
 * a typedef definition within the package and need to be referenced with their
 * fully qualified name (e.g. MyPackage::ErrorType)
 * (3) Sometimes the name of the type defined by a typedef does not appear at the end, e.g.
 * when defining functionPointers such as "typedef int (*HandlerFct) (void*);"
 *	 (a function with a void* argument returning int)
 * Support this case via a specific 'typeName' constant that gets replaced by the name of the
 * type
 */
"/> + </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="
"/> + <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=";
"/> + <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=";
"/> + </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<"/>
- <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=">
"/>
- <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="<"/>
- <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<"/> + <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=">
"/> + <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="<"/> + <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="
	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Property)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/6/Set(Property)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassAttributesDeclaration/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassAttributesDeclaration/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </iterator>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassAttributesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAttributesDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppAttributeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Property_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassAttributesDeclaration">
- <details key="start" value="222"/>
- <details key="end" value="431"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassAttributesDeclaration/%">
- <details key="start" value="325"/>
- <details key="end" value="419"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassAttributesDeclaration/%/%">
- <details key="start" value="382"/>
- <details key="end" value="384"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassAttributesDeclaration/%/%.1">
- <details key="start" value="385"/>
- <details key="end" value="410"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassAttributesDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassAttributesDeclaration/%/%.2">
- <details key="start" value="412"/>
- <details key="end" value="413"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassAttributesDeclaration/%/select">
- <details key="start" value="331"/>
- <details key="end" value="379"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassAttributesDeclaration/%/select/%">
- <details key="start" value="331"/>
- <details key="end" value="340"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassAttributesDeclaration/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassAttributesDeclaration/%/select/%.1">
- <details key="start" value="349"/>
- <details key="end" value="378"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassAttributesDeclaration/%/select/%.1/%">
- <details key="start" value="349"/>
- <details key="end" value="359"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassAttributesDeclaration/%/select/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassAttributesDeclaration/%/select/%.1/visibilityFilter">
- <details key="start" value="362"/>
- <details key="end" value="378"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassAttributesDeclaration/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassAttributesDeclaration/class">
- <details key="start" value="269"/>
- <details key="end" value="287"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassAttributesDeclaration/visibilityFilter">
- <details key="start" value="289"/>
- <details key="end" value="322"/>
- <details key="line" value="7"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassAttributesDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassAttributesDeclaration" endHeaderPosition="78"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../CppAttribute.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAttributesDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Property)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/6/Set(Property)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassAttributesDeclaration/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassAttributesDeclaration/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </iterator> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassAttributesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAttributesDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppAttributeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Property_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassAttributesDeclaration"> + <details key="start" value="159"/> + <details key="end" value="368"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassAttributesDeclaration/%"> + <details key="start" value="262"/> + <details key="end" value="356"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassAttributesDeclaration/%/%"> + <details key="start" value="319"/> + <details key="end" value="321"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassAttributesDeclaration/%/%.1"> + <details key="start" value="322"/> + <details key="end" value="347"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassAttributesDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassAttributesDeclaration/%/%.2"> + <details key="start" value="349"/> + <details key="end" value="350"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassAttributesDeclaration/%/select"> + <details key="start" value="268"/> + <details key="end" value="316"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassAttributesDeclaration/%/select/%"> + <details key="start" value="268"/> + <details key="end" value="277"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassAttributesDeclaration/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassAttributesDeclaration/%/select/%.1"> + <details key="start" value="286"/> + <details key="end" value="315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassAttributesDeclaration/%/select/%.1/%"> + <details key="start" value="286"/> + <details key="end" value="296"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassAttributesDeclaration/%/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassAttributesDeclaration/%/select/%.1/visibilityFilter"> + <details key="start" value="299"/> + <details key="end" value="315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassAttributesDeclaration/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassAttributesDeclaration/class"> + <details key="start" value="206"/> + <details key="end" value="224"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassAttributesDeclaration/visibilityFilter"> + <details key="start" value="226"/> + <details key="end" value="259"/> + <details key="line" value="6"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl index b3e0089002a..7ff3bd720e9 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl @@ -1,5 +1,4 @@ [module CppClassAttributesDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl index c3d8931a75b..ffca31cec93 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl @@ -1,398 +1,402 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassFriendDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration" endHeaderPosition="74">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassFriendDeclaration" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="friend class "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="friend" referredVariable="/0/CppClassFriendDeclaration/friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeFriendDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassFriendDeclaration">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/14/Friend">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/14/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/11/Sequence(Classifier)">
- <definition href="../../../utils/GenUtils.emtl#/0/getUsedClassifiers"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassFriendDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassFriendDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeFriendDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeFriendDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getUsedClassifiers">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getUsedClassifiers"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/GenUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Friend">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassFriendDeclaration">
- <details key="start" value="142"/>
- <details key="end" value="258"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassFriendDeclaration/%">
- <details key="start" value="207"/>
- <details key="end" value="220"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassFriendDeclaration/%.1">
- <details key="start" value="221"/>
- <details key="end" value="243"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassFriendDeclaration/%.1/friend">
- <details key="start" value="221"/>
- <details key="end" value="227"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassFriendDeclaration/%.2">
- <details key="start" value="245"/>
- <details key="end" value="246"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassFriendDeclaration/friend">
- <details key="start" value="185"/>
- <details key="end" value="204"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassIncludeFriendDeclaration">
- <details key="start" value="260"/>
- <details key="end" value="495"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassIncludeFriendDeclaration/%">
- <details key="start" value="331"/>
- <details key="end" value="483"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassIncludeFriendDeclaration/%/%">
- <details key="start" value="361"/>
- <details key="end" value="476"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassIncludeFriendDeclaration/%/%/%">
- <details key="start" value="437"/>
- <details key="end" value="439"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1">
- <details key="start" value="440"/>
- <details key="end" value="467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassIncludeFriendDeclaration/%/%/%.2">
- <details key="start" value="469"/>
- <details key="end" value="470"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3">
- <details key="start" value="365"/>
- <details key="end" value="435"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%">
- <details key="start" value="365"/>
- <details key="end" value="393"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/%">
- <details key="start" value="379"/>
- <details key="end" value="392"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1">
- <details key="start" value="398"/>
- <details key="end" value="435"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%">
- <details key="start" value="403"/>
- <details key="end" value="434"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/%">
- <details key="start" value="417"/>
- <details key="end" value="433"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppClassIncludeFriendDeclaration/%/%.1">
- <details key="start" value="337"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppClassIncludeFriendDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppClassIncludeFriendDeclaration/class">
- <details key="start" value="310"/>
- <details key="end" value="328"/>
- <details key="line" value="9"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassFriendDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration" endHeaderPosition="116"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassFriendDeclaration" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="friend class "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:VariableExp" name="friend" referredVariable="/0/CppClassFriendDeclaration/friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeFriendDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassFriendDeclaration"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/14/Friend"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/14/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <iterSet xsi:type="mtl:QueryInvocation" eType="/11/Sequence(Classifier)"> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassFriendDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassFriendDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeFriendDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeFriendDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getUsedClassifiers"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Friend"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassFriendDeclaration"> + <details key="start" value="238"/> + <details key="end" value="357"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassFriendDeclaration/%"> + <details key="start" value="303"/> + <details key="end" value="316"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassFriendDeclaration/%.1"> + <details key="start" value="317"/> + <details key="end" value="342"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassFriendDeclaration/%.1/friend"> + <details key="start" value="317"/> + <details key="end" value="323"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassFriendDeclaration/%.2"> + <details key="start" value="344"/> + <details key="end" value="345"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassFriendDeclaration/friend"> + <details key="start" value="281"/> + <details key="end" value="300"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassIncludeFriendDeclaration"> + <details key="start" value="359"/> + <details key="end" value="594"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassIncludeFriendDeclaration/%"> + <details key="start" value="430"/> + <details key="end" value="582"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassIncludeFriendDeclaration/%/%"> + <details key="start" value="460"/> + <details key="end" value="575"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassIncludeFriendDeclaration/%/%/%"> + <details key="start" value="536"/> + <details key="end" value="538"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1"> + <details key="start" value="539"/> + <details key="end" value="566"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassIncludeFriendDeclaration/%/%/%.2"> + <details key="start" value="568"/> + <details key="end" value="569"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3"> + <details key="start" value="464"/> + <details key="end" value="534"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%"> + <details key="start" value="464"/> + <details key="end" value="492"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/%"> + <details key="start" value="478"/> + <details key="end" value="491"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1"> + <details key="start" value="497"/> + <details key="end" value="534"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%"> + <details key="start" value="502"/> + <details key="end" value="533"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/%"> + <details key="start" value="516"/> + <details key="end" value="532"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppClassIncludeFriendDeclaration/%/%.1"> + <details key="start" value="436"/> + <details key="end" value="456"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppClassIncludeFriendDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppClassIncludeFriendDeclaration/class"> + <details key="start" value="409"/> + <details key="end" value="427"/> + <details key="line" value="10"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl index 8b7b07755d8..943a3f3131f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl @@ -1,9 +1,10 @@ -[module CppClassFriendDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[module CppClassFriendDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [template public CppClassFriendDeclaration(friend : Classifier)] -friend class [friend.qualifiedName()/]; +friend class [friend.cppQualifiedName()/]; [/template] [template public CppClassIncludeFriendDeclaration(class : Classifier)] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl index c67f5d5aa93..24dc2910a08 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl @@ -1,1095 +1,1096 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassIncludeClassDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration" endHeaderPosition="122">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../utils/ClassUtils.emtl#/0"/>
- <imports href="CppClassIncludeDeclaration.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="358" endPosition="367" value=" USED??? "/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeClassDeclarationTemplate" visibility="Public">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/openNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template "/>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CppTemplate.class">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/closeNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOwnerPackageIncludeDeclaration" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/* Owner package header include */
#include <"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h>
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CppRoot">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <parameter name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)">
- <definition href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclarationBody" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)">
- <definition href="../../../utils/GenUtils.emtl#/0/getDependencies"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppOwnerPackageIncludeDeclaration">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </ifExpr>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- <else>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- </else>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludesDeclaration.1/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- </body>
- <loopVariable name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </loopVariable>
- <iterSet xsi:type="ocl.ecore:VariableExp" name="list" eType="/3/Sequence(Classifier)" referredVariable="/0/CppClassAllIncludesDeclaration.1/list"/>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="list" eType="/3/Sequence(Classifier)"/>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassIncludeClassDeclarationTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeClassDeclarationTemplate"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOwnerPackageIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOwnerPackageIncludeDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclarationBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclarationBody"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration.1"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="list" eType="/3/Sequence(Classifier)"/>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="getDependencies">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getDependencies"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/GenUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="includedClassifiers">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/ClassUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppRoot">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="350"/>
- <details key="end" value="369"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassIncludeClassDeclarationTemplate">
- <details key="start" value="370"/>
- <details key="end" value="560"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassIncludeClassDeclarationTemplate/%">
- <details key="start" value="444"/>
- <details key="end" value="452"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassIncludeClassDeclarationTemplate/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassIncludeClassDeclarationTemplate/%.1">
- <details key="start" value="454"/>
- <details key="end" value="455"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassIncludeClassDeclarationTemplate/%.2">
- <details key="start" value="455"/>
- <details key="end" value="515"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%">
- <details key="start" value="501"/>
- <details key="end" value="510"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1">
- <details key="start" value="459"/>
- <details key="end" value="500"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/class">
- <details key="start" value="473"/>
- <details key="end" value="478"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/%">
- <details key="start" value="480"/>
- <details key="end" value="499"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassIncludeClassDeclarationTemplate/%.3">
- <details key="start" value="515"/>
- <details key="end" value="521"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassIncludeClassDeclarationTemplate/%.4">
- <details key="start" value="522"/>
- <details key="end" value="532"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassIncludeClassDeclarationTemplate/%.4/class">
- <details key="start" value="522"/>
- <details key="end" value="527"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassIncludeClassDeclarationTemplate/%.5">
- <details key="start" value="534"/>
- <details key="end" value="536"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassIncludeClassDeclarationTemplate/%.6">
- <details key="start" value="537"/>
- <details key="end" value="546"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassIncludeClassDeclarationTemplate/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassIncludeClassDeclarationTemplate/class">
- <details key="start" value="427"/>
- <details key="end" value="440"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppOwnerPackageIncludeDeclaration">
- <details key="start" value="563"/>
- <details key="end" value="870"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppOwnerPackageIncludeDeclaration/%">
- <details key="start" value="689"/>
- <details key="end" value="857"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppOwnerPackageIncludeDeclaration/%/%">
- <details key="start" value="743"/>
- <details key="end" value="816"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1">
- <details key="start" value="817"/>
- <details key="end" value="830"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppOwnerPackageIncludeDeclaration/%/%.2">
- <details key="start" value="832"/>
- <details key="end" value="837"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3">
- <details key="start" value="838"/>
- <details key="end" value="846"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3/pkg">
- <details key="start" value="838"/>
- <details key="end" value="841"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppOwnerPackageIncludeDeclaration/%/%.4">
- <details key="start" value="848"/>
- <details key="end" value="852"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5">
- <details key="start" value="693"/>
- <details key="end" value="741"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%">
- <details key="start" value="694"/>
- <details key="end" value="707"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/pkg">
- <details key="start" value="695"/>
- <details key="end" value="698"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/%">
- <details key="start" value="702"/>
- <details key="end" value="706"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1">
- <details key="start" value="712"/>
- <details key="end" value="740"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%">
- <details key="start" value="717"/>
- <details key="end" value="739"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/%">
- <details key="start" value="731"/>
- <details key="end" value="738"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <details key="start" value="614"/>
- <details key="end" value="627"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppClassAllIncludesDeclaration">
- <details key="start" value="873"/>
- <details key="end" value="1010"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassAllIncludesDeclaration/%">
- <details key="start" value="943"/>
- <details key="end" value="996"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassAllIncludesDeclaration/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassAllIncludesDeclaration/%/%">
- <details key="start" value="974"/>
- <details key="end" value="995"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassAllIncludesDeclaration/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassAllIncludesDeclaration/class">
- <details key="start" value="921"/>
- <details key="end" value="939"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassAllIncludesDeclarationBody">
- <details key="start" value="1012"/>
- <details key="end" value="1149"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppClassAllIncludesDeclarationBody/%">
- <details key="start" value="1086"/>
- <details key="end" value="1135"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppClassAllIncludesDeclarationBody/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppClassAllIncludesDeclarationBody/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1134"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppClassAllIncludesDeclarationBody/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassAllIncludesDeclarationBody/class">
- <details key="start" value="1064"/>
- <details key="end" value="1082"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassAllIncludesDeclaration.1">
- <details key="start" value="1151"/>
- <details key="end" value="2056"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassAllIncludesDeclaration.1/%">
- <details key="start" value="1250"/>
- <details key="end" value="2044"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassAllIncludesDeclaration.1/%/%">
- <details key="start" value="1450"/>
- <details key="end" value="2037"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassAllIncludesDeclaration.1/%/%/%">
- <details key="start" value="1537"/>
- <details key="end" value="2030"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%">
- <details key="start" value="1810"/>
- <details key="end" value="1922"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1911"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1875"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1856"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%/cl">
- <details key="start" value="1848"/>
- <details key="end" value="1850"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%.1">
- <details key="start" value="1867"/>
- <details key="end" value="1874"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.1">
- <details key="start" value="1913"/>
- <details key="end" value="1914"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2">
- <details key="start" value="1814"/>
- <details key="end" value="1845"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%">
- <details key="start" value="1815"/>
- <details key="end" value="1823"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%/cl">
- <details key="start" value="1815"/>
- <details key="end" value="1817"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%.1">
- <details key="start" value="1836"/>
- <details key="end" value="1843"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1">
- <details key="start" value="1540"/>
- <details key="end" value="1596"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%">
- <details key="start" value="1541"/>
- <details key="end" value="1565"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/%">
- <details key="start" value="1553"/>
- <details key="end" value="1564"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1">
- <details key="start" value="1569"/>
- <details key="end" value="1595"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/%">
- <details key="start" value="1581"/>
- <details key="end" value="1594"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2">
- <details key="start" value="1925"/>
- <details key="end" value="2025"/>
- <details key="line" value="42"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%">
- <details key="start" value="1992"/>
- <details key="end" value="2020"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%.1">
- <details key="start" value="2022"/>
- <details key="end" value="2023"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1">
- <details key="start" value="1453"/>
- <details key="end" value="1533"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%">
- <details key="start" value="1454"/>
- <details key="end" value="1502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%">
- <details key="start" value="1454"/>
- <details key="end" value="1467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/cl">
- <details key="start" value="1455"/>
- <details key="end" value="1457"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/class">
- <details key="start" value="1461"/>
- <details key="end" value="1466"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1">
- <details key="start" value="1472"/>
- <details key="end" value="1502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%">
- <details key="start" value="1477"/>
- <details key="end" value="1501"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/%">
- <details key="start" value="1491"/>
- <details key="end" value="1500"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1">
- <details key="start" value="1506"/>
- <details key="end" value="1532"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/%">
- <details key="start" value="1520"/>
- <details key="end" value="1531"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <details key="start" value="1256"/>
- <details key="end" value="1271"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/CppClassAllIncludesDeclaration.1/%/list">
- <details key="start" value="1274"/>
- <details key="end" value="1278"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/CppClassAllIncludesDeclaration.1/class">
- <details key="start" value="1199"/>
- <details key="end" value="1217"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/CppClassAllIncludesDeclaration.1/list">
- <details key="start" value="1219"/>
- <details key="end" value="1246"/>
- <details key="line" value="31"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassIncludeClassDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration" endHeaderPosition="122"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <imports href="../../../utils/ClassUtils.emtl#/0"/> + <imports href="CppClassIncludeDeclaration.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="412" endPosition="421" value=" USED??? "/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeClassDeclarationTemplate" visibility="Public"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/openNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template "/> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype"/> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CppTemplate.class"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/closeNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppOwnerPackageIncludeDeclaration" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/* Owner package header include */
#include <"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h>
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CppRoot"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <parameter name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)"> + <definition href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclarationBody" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)"> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppOwnerPackageIncludeDeclaration"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + <else> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + </else> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludesDeclaration.1/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + </body> + <loopVariable name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:VariableExp" name="list" eType="/3/Sequence(Classifier)" referredVariable="/0/CppClassAllIncludesDeclaration.1/list"/> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="list" eType="/3/Sequence(Classifier)"/> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassIncludeClassDeclarationTemplate"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeClassDeclarationTemplate"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eParameters> + </eOperations> + <eOperations name="CppOwnerPackageIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppOwnerPackageIncludeDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclarationBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclarationBody"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration.1"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="list" eType="/3/Sequence(Classifier)"/> + </eOperations> + <eOperations name="getTypesViaDependencies"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="includedClassifiers"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/ClassUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppRoot"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="404"/> + <details key="end" value="423"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassIncludeClassDeclarationTemplate"> + <details key="start" value="424"/> + <details key="end" value="614"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassIncludeClassDeclarationTemplate/%"> + <details key="start" value="498"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassIncludeClassDeclarationTemplate/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassIncludeClassDeclarationTemplate/%.1"> + <details key="start" value="508"/> + <details key="end" value="509"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassIncludeClassDeclarationTemplate/%.2"> + <details key="start" value="509"/> + <details key="end" value="569"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%"> + <details key="start" value="555"/> + <details key="end" value="564"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1"> + <details key="start" value="513"/> + <details key="end" value="554"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/class"> + <details key="start" value="527"/> + <details key="end" value="532"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/%"> + <details key="start" value="534"/> + <details key="end" value="553"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassIncludeClassDeclarationTemplate/%.3"> + <details key="start" value="569"/> + <details key="end" value="575"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassIncludeClassDeclarationTemplate/%.4"> + <details key="start" value="576"/> + <details key="end" value="586"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassIncludeClassDeclarationTemplate/%.4/class"> + <details key="start" value="576"/> + <details key="end" value="581"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassIncludeClassDeclarationTemplate/%.5"> + <details key="start" value="588"/> + <details key="end" value="590"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassIncludeClassDeclarationTemplate/%.6"> + <details key="start" value="591"/> + <details key="end" value="600"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassIncludeClassDeclarationTemplate/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassIncludeClassDeclarationTemplate/class"> + <details key="start" value="481"/> + <details key="end" value="494"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppOwnerPackageIncludeDeclaration"> + <details key="start" value="617"/> + <details key="end" value="924"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppOwnerPackageIncludeDeclaration/%"> + <details key="start" value="743"/> + <details key="end" value="911"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppOwnerPackageIncludeDeclaration/%/%"> + <details key="start" value="797"/> + <details key="end" value="870"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1"> + <details key="start" value="871"/> + <details key="end" value="884"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppOwnerPackageIncludeDeclaration/%/%.2"> + <details key="start" value="886"/> + <details key="end" value="891"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3"> + <details key="start" value="892"/> + <details key="end" value="900"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3/pkg"> + <details key="start" value="892"/> + <details key="end" value="895"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppOwnerPackageIncludeDeclaration/%/%.4"> + <details key="start" value="902"/> + <details key="end" value="906"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5"> + <details key="start" value="747"/> + <details key="end" value="795"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%"> + <details key="start" value="748"/> + <details key="end" value="761"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/pkg"> + <details key="start" value="749"/> + <details key="end" value="752"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/%"> + <details key="start" value="756"/> + <details key="end" value="760"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1"> + <details key="start" value="766"/> + <details key="end" value="794"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%"> + <details key="start" value="771"/> + <details key="end" value="793"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/%"> + <details key="start" value="785"/> + <details key="end" value="792"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <details key="start" value="668"/> + <details key="end" value="681"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppClassAllIncludesDeclaration"> + <details key="start" value="927"/> + <details key="end" value="1064"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassAllIncludesDeclaration/%"> + <details key="start" value="997"/> + <details key="end" value="1050"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassAllIncludesDeclaration/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassAllIncludesDeclaration/%/%"> + <details key="start" value="1028"/> + <details key="end" value="1049"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassAllIncludesDeclaration/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassAllIncludesDeclaration/class"> + <details key="start" value="975"/> + <details key="end" value="993"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassAllIncludesDeclarationBody"> + <details key="start" value="1066"/> + <details key="end" value="1211"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppClassAllIncludesDeclarationBody/%"> + <details key="start" value="1140"/> + <details key="end" value="1197"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppClassAllIncludesDeclarationBody/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppClassAllIncludesDeclarationBody/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1196"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppClassAllIncludesDeclarationBody/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassAllIncludesDeclarationBody/class"> + <details key="start" value="1118"/> + <details key="end" value="1136"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppClassAllIncludesDeclaration.1"> + <details key="start" value="1213"/> + <details key="end" value="2110"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppClassAllIncludesDeclaration.1/%"> + <details key="start" value="1312"/> + <details key="end" value="2098"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassAllIncludesDeclaration.1/%/%"> + <details key="start" value="1507"/> + <details key="end" value="2091"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppClassAllIncludesDeclaration.1/%/%/%"> + <details key="start" value="1591"/> + <details key="end" value="2084"/> + <details key="line" value="37"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%"> + <details key="start" value="1864"/> + <details key="end" value="1976"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1965"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1929"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1910"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%/cl"> + <details key="start" value="1902"/> + <details key="end" value="1904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%.1"> + <details key="start" value="1921"/> + <details key="end" value="1928"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.1"> + <details key="start" value="1967"/> + <details key="end" value="1968"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2"> + <details key="start" value="1868"/> + <details key="end" value="1899"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%"> + <details key="start" value="1869"/> + <details key="end" value="1877"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%/cl"> + <details key="start" value="1869"/> + <details key="end" value="1871"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%.1"> + <details key="start" value="1890"/> + <details key="end" value="1897"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1"> + <details key="start" value="1594"/> + <details key="end" value="1650"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%"> + <details key="start" value="1595"/> + <details key="end" value="1619"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/%"> + <details key="start" value="1607"/> + <details key="end" value="1618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1"> + <details key="start" value="1623"/> + <details key="end" value="1649"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/%"> + <details key="start" value="1635"/> + <details key="end" value="1648"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2"> + <details key="start" value="1979"/> + <details key="end" value="2079"/> + <details key="line" value="43"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%"> + <details key="start" value="2046"/> + <details key="end" value="2074"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%.1"> + <details key="start" value="2076"/> + <details key="end" value="2077"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1"> + <details key="start" value="1510"/> + <details key="end" value="1587"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%"> + <details key="start" value="1511"/> + <details key="end" value="1559"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%"> + <details key="start" value="1511"/> + <details key="end" value="1524"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/cl"> + <details key="start" value="1512"/> + <details key="end" value="1514"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/class"> + <details key="start" value="1518"/> + <details key="end" value="1523"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1"> + <details key="start" value="1529"/> + <details key="end" value="1559"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%"> + <details key="start" value="1534"/> + <details key="end" value="1558"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/%"> + <details key="start" value="1548"/> + <details key="end" value="1557"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1"> + <details key="start" value="1563"/> + <details key="end" value="1586"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/%"> + <details key="start" value="1577"/> + <details key="end" value="1585"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <details key="start" value="1318"/> + <details key="end" value="1333"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/CppClassAllIncludesDeclaration.1/%/list"> + <details key="start" value="1336"/> + <details key="end" value="1340"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/CppClassAllIncludesDeclaration.1/class"> + <details key="start" value="1261"/> + <details key="end" value="1279"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/CppClassAllIncludesDeclaration.1/list"> + <details key="start" value="1281"/> + <details key="end" value="1308"/> + <details key="line" value="32"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl index 90d6de49b7f..f066e657317 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl @@ -1,5 +1,6 @@ [module CppClassIncludeClassDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::ClassUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration/] @@ -25,7 +26,7 @@ [/template] [template public CppClassAllIncludesDeclarationBody(class : Classifier)] -[CppClassAllIncludesDeclaration(getDependencies())/] +[CppClassAllIncludesDeclaration(getTypesViaDependencies())/] [/template] [template public CppClassAllIncludesDeclaration(class : Classifier, list : Sequence(Classifier) )] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl index b03edb71c9c..9512edf6c79 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl @@ -1,553 +1,548 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassIncludeDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration" endHeaderPosition="117">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../preferences/CppCodeGenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Query" name="includeName" visibility="Public">
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template/declaration"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass/name"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/includeName/ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </argument>
- </elseExpression>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="665" endPosition="748" value=" TODO: original code did not use nearest package, if stereotype CppRoot was applied"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeDeclaration" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/includeName">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/CppClassIncludeDeclaration/ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">"/>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- <eOperations name="+">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="other">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="includeName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/includeName"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getHeaderSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/includeName">
- <details key="start" value="261"/>
- <details key="end" value="655"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/includeName/ne">
- <details key="start" value="287"/>
- <details key="end" value="304"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/includeName/%">
- <details key="start" value="317"/>
- <details key="end" value="652"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/includeName/%/%">
- <details key="start" value="320"/>
- <details key="end" value="345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/includeName/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/includeName/%/%/%">
- <details key="start" value="335"/>
- <details key="end" value="343"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/includeName/%/%.1">
- <details key="start" value="352"/>
- <details key="end" value="408"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/includeName/%/%.1/%">
- <details key="start" value="352"/>
- <details key="end" value="396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/includeName/%/%.1/%/%">
- <details key="start" value="352"/>
- <details key="end" value="376"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/includeName/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/includeName/%/%.1/%/%/%">
- <details key="start" value="367"/>
- <details key="end" value="375"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/includeName/%/%.1/%/%.1">
- <details key="start" value="387"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/includeName/%/%.2">
- <details key="start" value="415"/>
- <details key="end" value="646"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/includeName/%/%.2/%">
- <details key="start" value="418"/>
- <details key="end" value="446"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/includeName/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/includeName/%/%.2/%/%">
- <details key="start" value="433"/>
- <details key="end" value="444"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/includeName/%/%.2/%.1">
- <details key="start" value="452"/>
- <details key="end" value="507"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/includeName/%/%.2/%.1/%">
- <details key="start" value="452"/>
- <details key="end" value="502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/includeName/%/%.2/%.1/%/%">
- <details key="start" value="452"/>
- <details key="end" value="479"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/includeName/%/%.2/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/includeName/%/%.2/%.1/%/%/%">
- <details key="start" value="467"/>
- <details key="end" value="478"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/includeName/%/%.2/%.1/%/%.1">
- <details key="start" value="490"/>
- <details key="end" value="501"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/includeName/%/%.2/%.2">
- <details key="start" value="564"/>
- <details key="end" value="639"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/includeName/%/%.2/%.2/%">
- <details key="start" value="564"/>
- <details key="end" value="619"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/includeName/%/%.2/%.2/%/%">
- <details key="start" value="564"/>
- <details key="end" value="613"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/includeName/%/%.2/%.2/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/includeName/%/%.2/%.2/%/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="597"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/includeName/%/%.2/%.2/%/%/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="583"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/includeName/%/%.2/%.2/%/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/includeName/%/%.2/%.2/%/%/%/%.1">
- <details key="start" value="600"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/includeName/%/%.2/%.2/%/%/%.1">
- <details key="start" value="606"/>
- <details key="end" value="613"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/includeName/%/%.2/%.2/%/%/%.1/ne">
- <details key="start" value="606"/>
- <details key="end" value="608"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/includeName/%/%.2/%.2/%/%.1">
- <details key="start" value="616"/>
- <details key="end" value="619"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/includeName/%/%.2/%.2/%.1">
- <details key="start" value="622"/>
- <details key="end" value="639"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/includeName/%/%.2/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/%">
- <details key="start" value="657"/>
- <details key="end" value="750"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassIncludeDeclaration">
- <details key="start" value="751"/>
- <details key="end" value="857"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassIncludeDeclaration/%">
- <details key="start" value="815"/>
- <details key="end" value="825"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassIncludeDeclaration/%.1">
- <details key="start" value="826"/>
- <details key="end" value="842"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassIncludeDeclaration/%.1/ne">
- <details key="start" value="826"/>
- <details key="end" value="828"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassIncludeDeclaration/%.2">
- <details key="start" value="844"/>
- <details key="end" value="845"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassIncludeDeclaration/ne">
- <details key="start" value="795"/>
- <details key="end" value="812"/>
- <details key="line" value="19"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassIncludeDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration" endHeaderPosition="117"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../preferences/CppCodeGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Query" name="includeName" visibility="Public"> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template/declaration"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External/name"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/includeName/ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + </argument> + </elseExpression> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="644" endPosition="727" value=" TODO: original code did not use nearest package, if stereotype CppRoot was applied"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeDeclaration" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/> + <body xsi:type="mtl:QueryInvocation" definition="/0/includeName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/CppClassIncludeDeclaration/ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">"/> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + <eOperations name="+"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="other"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="includeName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/includeName"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0 |