diff options
author | Ansgar Radermacher | 2013-10-28 14:26:07 +0000 |
---|---|---|
committer | Ansgar Radermacher | 2013-10-28 14:26:07 +0000 |
commit | 813571cd2ac6bc4d29c7396e7d081355b10a47e4 (patch) | |
tree | 81a4860bb54c56adcb14085998be94c4b2d355d1 /extraplugins | |
parent | 3dcac8b06cf2f3ec1e01dd68dcb3af2c77099331 (diff) | |
download | org.eclipse.papyrus-813571cd2ac6bc4d29c7396e7d081355b10a47e4.tar.gz org.eclipse.papyrus-813571cd2ac6bc4d29c7396e7d081355b10a47e4.tar.xz org.eclipse.papyrus-813571cd2ac6bc4d29c7396e7d081355b10a47e4.zip |
- [Bug 420376] Generated C++ code is not formatted
Diffstat (limited to 'extraplugins')
37 files changed, 4172 insertions, 1545 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl index 2b8f661fb18..f7dad3d4549 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl @@ -649,13 +649,48 @@ </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="getBodyFromOB" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </parameter> + <parameter name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/74"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> + <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="getBodyFromOB(org.eclipse.uml2.uml.OpaqueBehavior, java.lang.String)"> + <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:CollectionLiteralExp" eType="/3/Sequence(OclAny)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getBodyFromOB/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </item> + </part> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg1" referredVariable="/0/getBodyFromOB/arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </item> + </part> + </argument> + </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="cleanCR" visibility="Public"> <parameter name="str"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </parameter> <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/74"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/77"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </source> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> @@ -681,7 +716,7 @@ </parameter> <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/77"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </source> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> @@ -710,7 +745,7 @@ </parameter> <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/83"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </source> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> @@ -736,6 +771,32 @@ </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="returnResult" visibility="Public"> + <parameter name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/86"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> + <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="returnResult(org.eclipse.uml2.uml.Behavior)"> + <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:CollectionLiteralExp" eType="/3/Sequence(Behavior)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + <item xsi:type="ocl.ecore:VariableExp" name="behavior" referredVariable="/0/returnResult/behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </item> + </part> + </argument> + </expression> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ownedModuleElement> </mtl:Module> <ecore:EPackage name="additions"> <eClassifiers xsi:type="ecore:EClass" name="String_Class"> @@ -995,6 +1056,19 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eParameters> </eOperations> + <eOperations name="getBodyFromOB"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getBodyFromOB"/> + <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#//OpaqueBehavior"/> + </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="cleanCR"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -1028,6 +1102,16 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </eParameters> </eOperations> + <eOperations name="returnResult"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/returnResult"/> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + </eOperations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -1097,6 +1181,16 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> @@ -1132,6 +1226,9 @@ <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Behavior)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> @@ -1341,6 +1438,15 @@ <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#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> @@ -1367,6 +1473,15 @@ <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#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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/getTemplateBindings"> <details key="start" value="90"/> @@ -2353,134 +2468,224 @@ <details key="end" value="4972"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.197" references="/0/cleanCR"> + <eAnnotations source="positions.197" references="/0/getBodyFromOB"> <details key="start" value="4979"/> - <details key="end" value="5120"/> + <details key="end" value="5200"/> <details key="line" value="96"/> </eAnnotations> - <eAnnotations source="positions.198" references="/0/cleanCR/str"> - <details key="start" value="5001"/> - <details key="end" value="5013"/> + <eAnnotations source="positions.198" references="/0/getBodyFromOB/arg0"> + <details key="start" value="5007"/> + <details key="end" value="5028"/> <details key="line" value="96"/> </eAnnotations> - <eAnnotations source="positions.199" references="/0/cleanCR/%"> - <details key="start" value="5027"/> - <details key="end" value="5117"/> + <eAnnotations source="positions.199" references="/0/getBodyFromOB/arg1"> + <details key="start" value="5030"/> + <details key="end" value="5043"/> + <details key="line" value="96"/> + </eAnnotations> + <eAnnotations source="positions.200" references="/0/getBodyFromOB/%"> + <details key="start" value="5057"/> + <details key="end" value="5197"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.200" references="/0/cleanCR/%/self"> + <eAnnotations source="positions.201" references="/0/getBodyFromOB/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.201" references="/0/cleanCR/%/%"> - <details key="start" value="5034"/> - <details key="end" value="5072"/> + <eAnnotations source="positions.202" references="/0/getBodyFromOB/%/%"> + <details key="start" value="5064"/> + <details key="end" value="5102"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.203" references="/0/getBodyFromOB/%/%.1"> + <details key="start" value="5104"/> + <details key="end" value="5174"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.202" references="/0/cleanCR/%/%.1"> - <details key="start" value="5074"/> - <details key="end" value="5101"/> + <eAnnotations source="positions.204" references="/0/getBodyFromOB/%/%.2"> + <details key="start" value="5176"/> + <details key="end" value="5196"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.203" references="/0/cleanCR/%/%.2"> - <details key="start" value="5103"/> - <details key="end" value="5116"/> + <eAnnotations source="positions.205" references="/0/getBodyFromOB/%/%.2/%/arg0"> + <details key="start" value="5185"/> + <details key="end" value="5189"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.204" references="/0/cleanCR/%/%.2/%/str"> - <details key="start" value="5112"/> - <details key="end" value="5115"/> + <eAnnotations source="positions.206" references="/0/getBodyFromOB/%/%.2/%.1/arg1"> + <details key="start" value="5191"/> + <details key="end" value="5195"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.205" references="/0/maskNull"> - <details key="start" value="5122"/> - <details key="end" value="5265"/> + <eAnnotations source="positions.207" references="/0/cleanCR"> + <details key="start" value="5202"/> + <details key="end" value="5343"/> <details key="line" value="100"/> </eAnnotations> - <eAnnotations source="positions.206" references="/0/maskNull/str"> - <details key="start" value="5145"/> - <details key="end" value="5157"/> + <eAnnotations source="positions.208" references="/0/cleanCR/str"> + <details key="start" value="5224"/> + <details key="end" value="5236"/> <details key="line" value="100"/> </eAnnotations> - <eAnnotations source="positions.207" references="/0/maskNull/%"> - <details key="start" value="5171"/> - <details key="end" value="5262"/> + <eAnnotations source="positions.209" references="/0/cleanCR/%"> + <details key="start" value="5250"/> + <details key="end" value="5340"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.208" references="/0/maskNull/%/self"> + <eAnnotations source="positions.210" references="/0/cleanCR/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.209" references="/0/maskNull/%/%"> - <details key="start" value="5178"/> - <details key="end" value="5216"/> + <eAnnotations source="positions.211" references="/0/cleanCR/%/%"> + <details key="start" value="5257"/> + <details key="end" value="5295"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.210" references="/0/maskNull/%/%.1"> - <details key="start" value="5218"/> - <details key="end" value="5246"/> + <eAnnotations source="positions.212" references="/0/cleanCR/%/%.1"> + <details key="start" value="5297"/> + <details key="end" value="5324"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.211" references="/0/maskNull/%/%.2"> - <details key="start" value="5248"/> - <details key="end" value="5261"/> + <eAnnotations source="positions.213" references="/0/cleanCR/%/%.2"> + <details key="start" value="5326"/> + <details key="end" value="5339"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.212" references="/0/maskNull/%/%.2/%/str"> - <details key="start" value="5257"/> - <details key="end" value="5260"/> + <eAnnotations source="positions.214" references="/0/cleanCR/%/%.2/%/str"> + <details key="start" value="5335"/> + <details key="end" value="5338"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.213" references="/0/getRelativePath"> - <details key="start" value="5267"/> - <details key="end" value="5507"/> - <details key="line" value="104"/> - </eAnnotations> - <eAnnotations source="positions.214" references="/0/getRelativePath/ne1"> - <details key="start" value="5297"/> - <details key="end" value="5315"/> + <eAnnotations source="positions.215" references="/0/maskNull"> + <details key="start" value="5345"/> + <details key="end" value="5488"/> <details key="line" value="104"/> </eAnnotations> - <eAnnotations source="positions.215" references="/0/getRelativePath/ne2"> - <details key="start" value="5317"/> - <details key="end" value="5335"/> + <eAnnotations source="positions.216" references="/0/maskNull/str"> + <details key="start" value="5368"/> + <details key="end" value="5380"/> <details key="line" value="104"/> </eAnnotations> - <eAnnotations source="positions.216" references="/0/getRelativePath/%"> - <details key="start" value="5349"/> - <details key="end" value="5504"/> + <eAnnotations source="positions.217" references="/0/maskNull/%"> + <details key="start" value="5394"/> + <details key="end" value="5485"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.217" references="/0/getRelativePath/%/self"> + <eAnnotations source="positions.218" references="/0/maskNull/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.218" references="/0/getRelativePath/%/%"> - <details key="start" value="5356"/> - <details key="end" value="5394"/> + <eAnnotations source="positions.219" references="/0/maskNull/%/%"> + <details key="start" value="5401"/> + <details key="end" value="5439"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.220" references="/0/maskNull/%/%.1"> + <details key="start" value="5441"/> + <details key="end" value="5469"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.219" references="/0/getRelativePath/%/%.1"> - <details key="start" value="5396"/> + <eAnnotations source="positions.221" references="/0/maskNull/%/%.2"> + <details key="start" value="5471"/> + <details key="end" value="5484"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.222" references="/0/maskNull/%/%.2/%/str"> + <details key="start" value="5480"/> <details key="end" value="5483"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.220" references="/0/getRelativePath/%/%.2"> - <details key="start" value="5485"/> - <details key="end" value="5503"/> + <eAnnotations source="positions.223" references="/0/getRelativePath"> + <details key="start" value="5490"/> + <details key="end" value="5730"/> + <details key="line" value="108"/> + </eAnnotations> + <eAnnotations source="positions.224" references="/0/getRelativePath/ne1"> + <details key="start" value="5520"/> + <details key="end" value="5538"/> + <details key="line" value="108"/> + </eAnnotations> + <eAnnotations source="positions.225" references="/0/getRelativePath/ne2"> + <details key="start" value="5540"/> + <details key="end" value="5558"/> + <details key="line" value="108"/> + </eAnnotations> + <eAnnotations source="positions.226" references="/0/getRelativePath/%"> + <details key="start" value="5572"/> + <details key="end" value="5727"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.227" references="/0/getRelativePath/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.228" references="/0/getRelativePath/%/%"> + <details key="start" value="5579"/> + <details key="end" value="5617"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.229" references="/0/getRelativePath/%/%.1"> + <details key="start" value="5619"/> + <details key="end" value="5706"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.230" references="/0/getRelativePath/%/%.2"> + <details key="start" value="5708"/> + <details key="end" value="5726"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.231" references="/0/getRelativePath/%/%.2/%/ne1"> + <details key="start" value="5717"/> + <details key="end" value="5720"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.232" references="/0/getRelativePath/%/%.2/%.1/ne2"> + <details key="start" value="5722"/> + <details key="end" value="5725"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.233" references="/0/returnResult"> + <details key="start" value="5732"/> + <details key="end" value="5911"/> + <details key="line" value="112"/> + </eAnnotations> + <eAnnotations source="positions.234" references="/0/returnResult/behavior"> + <details key="start" value="5759"/> + <details key="end" value="5778"/> + <details key="line" value="112"/> + </eAnnotations> + <eAnnotations source="positions.235" references="/0/returnResult/%"> + <details key="start" value="5795"/> + <details key="end" value="5908"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.236" references="/0/returnResult/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.237" references="/0/returnResult/%/%"> + <details key="start" value="5802"/> + <details key="end" value="5840"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.238" references="/0/returnResult/%/%.1"> + <details key="start" value="5842"/> + <details key="end" value="5887"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.221" references="/0/getRelativePath/%/%.2/%/ne1"> - <details key="start" value="5494"/> - <details key="end" value="5497"/> + <eAnnotations source="positions.239" references="/0/returnResult/%/%.2"> + <details key="start" value="5889"/> + <details key="end" value="5907"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.222" references="/0/getRelativePath/%/%.2/%.1/ne2"> - <details key="start" value="5499"/> - <details key="end" value="5502"/> + <eAnnotations source="positions.240" references="/0/returnResult/%/%.2/%/behavior"> + <details key="start" value="5898"/> + <details key="end" value="5906"/> <details key="line" value="0"/> </eAnnotations> </ecore:EAnnotation> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java index f32492efe34..dd895078223 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java @@ -33,6 +33,7 @@ import org.eclipse.uml2.uml.OpaqueBehavior; import org.eclipse.uml2.uml.Operation; import org.eclipse.uml2.uml.Package; import org.eclipse.uml2.uml.Parameter; +import org.eclipse.uml2.uml.ParameterDirectionKind; import org.eclipse.uml2.uml.ParameterableElement; import org.eclipse.uml2.uml.Property; import org.eclipse.uml2.uml.TemplateBinding; @@ -549,15 +550,28 @@ public class GenUtils { public static String getBody(Operation operation, String selectedLanguage) { for(Behavior behavior : operation.getMethods()) { if(behavior instanceof OpaqueBehavior) { - OpaqueBehavior ob = (OpaqueBehavior)behavior; - Iterator<String> bodies = ob.getBodies().iterator(); - for(String language : ob.getLanguages()) { - String body = bodies.next(); - if(language.equals(selectedLanguage)) { - // additional "\r" confuses Acceleo - return cleanCR(body); - } - } + return getBodyFromOB((OpaqueBehavior) behavior, selectedLanguage); + } + } + return ""; //$NON-NLS-1$ + } + + + /** + * @param ob + * an opaque behavior + * @param selectedLanguage + * the selected language + * @return Return the first body of a selected language that is provided by + * one of the operation's methods + */ + public static String getBodyFromOB(OpaqueBehavior ob, String selectedLanguage) { + Iterator<String> bodies = ob.getBodies().iterator(); + for(String language : ob.getLanguages()) { + String body = bodies.next(); + if(language.equals(selectedLanguage)) { + // additional "\r" confuses Acceleo + return cleanCR(body); } } return ""; //$NON-NLS-1$ @@ -607,4 +621,19 @@ public class GenUtils { } return null; } + + /** + * Return the type of a behavior, i.e. the type of the first parameter with + * "return" direction + * @param behavior a behavior + * @return the associated type + */ + public static Parameter returnResult(Behavior behavior) { + for (Parameter parameter : behavior.getOwnedParameters()) { + if (parameter.getDirection() == ParameterDirectionKind.RETURN_LITERAL) { + return parameter; + } + } + return null; + } } diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl index 4f0f7bb8794..8292e968020 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl @@ -93,6 +93,10 @@ = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getBody(org.eclipse.uml2.uml.Operation, java.lang.String)', Sequence{arg0, arg1}) /] +[query public getBodyFromOB(arg0 : OpaqueBehavior, arg1 : String) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getBodyFromOB(org.eclipse.uml2.uml.OpaqueBehavior, java.lang.String)', Sequence{arg0, arg1}) +/] + [query public cleanCR(str : String) : String = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'cleanCR(java.lang.String)', Sequence{str}) /] @@ -105,3 +109,6 @@ = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getRelativePath(org.eclipse.uml2.uml.NamedElement, org.eclipse.uml2.uml.NamedElement)', Sequence{ne1, ne2}) /] +[query public returnResult(behavior : Behavior) : Parameter + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'returnResult(org.eclipse.uml2.uml.Behavior)', Sequence{behavior}) +/]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF index a3173faae80..e61890a6ee7 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF @@ -19,7 +19,9 @@ Require-Bundle: org.eclipse.ui, org.eclipse.papyrus.cpp.profile;bundle-version="0.10.1",
org.eclipse.ui.ide;bundle-version="3.8.0",
org.eclipse.core.filesystem;bundle-version="1.3.200",
- org.eclipse.papyrus.acceleo;bundle-version="0.10.1"
+ org.eclipse.papyrus.acceleo;bundle-version="0.10.1",
+ org.eclipse.cdt.core;resolution:=optional,
+ org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1"
Bundle-Vendor: %providerName
Eclipse-LazyStart: true
Bundle-Version: 0.10.1.qualifier
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java index 83cc1860acf..9b941aae4dc 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java @@ -10,6 +10,7 @@ *******************************************************************************/
package org.eclipse.papyrus.cpp.codegen;
+import org.eclipse.papyrus.infra.core.log.LogHelper;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
@@ -25,6 +26,8 @@ public class Activator extends AbstractUIPlugin { // The shared instance
private static Activator plugin;
+ public static LogHelper log;
+
/**
* Returns the shared instance
*
@@ -49,6 +52,7 @@ public class Activator extends AbstractUIPlugin { @Override
public void start(BundleContext context) throws Exception {
super.start(context);
+ log = new LogHelper();
}
/*
@@ -60,6 +64,5 @@ public class Activator extends AbstractUIPlugin { public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
- }
-
+ }
}
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl index 8630740ab13..efb79a4d929 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl @@ -4,7 +4,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../utils/ClassUtils.emtl#/0"/> <imports href="CppIncludeUtils.emtl#/0"/> @@ -16,7 +16,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#define "/> <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/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <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#//Class"/> </argument> @@ -48,7 +48,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <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="/10"> @@ -165,7 +165,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <initExpression xsi:type="mtl:QueryInvocation"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> <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#//Class"/> </argument> @@ -229,7 +229,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> </eAnnotations> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <eParameters name="arg0"> @@ -241,7 +241,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -253,7 +253,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -421,11 +421,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl index ece9822b964..371853d61cd 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl @@ -4,7 +4,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> <imports href="util/CppTemplates.emtl#/0"/> @@ -14,7 +14,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#ifndef "/> <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/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <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#//Class"/> </argument> @@ -22,7 +22,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H
#define "/> <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/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <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> @@ -69,7 +69,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <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="/15"> @@ -186,7 +186,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <initExpression xsi:type="mtl:QueryInvocation"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> <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#//Class"/> </argument> @@ -242,7 +242,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> </eAnnotations> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <eParameters name="arg0"> @@ -254,7 +254,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -266,7 +266,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -410,11 +410,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl index 09b8d1227ae..50a3706d8b1 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl @@ -4,7 +4,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../utils/ClassUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> @@ -17,7 +17,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#define "/> <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/getFullName"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> <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#//Classifier"/> </argument> @@ -49,13 +49,13 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#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:PropertyCallExp"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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="/10"> <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#//Type/package"/> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/> </argument> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/> @@ -195,7 +195,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -207,7 +207,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -390,11 +390,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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"/> @@ -467,7 +482,7 @@ <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/CppClassBody"> <details key="start" value="740"/> - <details key="end" value="1514"/> + <details key="end" value="1525"/> <details key="line" value="13"/> </eAnnotations> <eAnnotations source="positions.1" references="/0/CppClassBody/%"> @@ -537,12 +552,12 @@ </eAnnotations> <eAnnotations source="positions.14" references="/0/CppClassBody/%.9"> <details key="start" value="1045"/> - <details key="end" value="1067"/> + <details key="end" value="1078"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.15" references="/0/CppClassBody/%.9/%"> <details key="start" value="1045"/> - <details key="end" value="1053"/> + <details key="end" value="1064"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.16" references="/0/CppClassBody/%.9/%/self"> @@ -551,28 +566,28 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.17" references="/0/CppClassBody/%.10"> - <details key="start" value="1069"/> - <details key="end" value="1070"/> + <details key="start" value="1080"/> + <details key="end" value="1081"/> <details key="line" value="23"/> </eAnnotations> <eAnnotations source="positions.18" references="/0/CppClassBody/%.11"> - <details key="start" value="1071"/> - <details key="end" value="1081"/> + <details key="start" value="1082"/> + <details key="end" value="1092"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.19" references="/0/CppClassBody/%.11/class"> - <details key="start" value="1071"/> - <details key="end" value="1076"/> + <details key="start" value="1082"/> + <details key="end" value="1087"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.20" references="/0/CppClassBody/%.12"> - <details key="start" value="1083"/> - <details key="end" value="1084"/> + <details key="start" value="1094"/> + <details key="end" value="1095"/> <details key="line" value="23"/> </eAnnotations> <eAnnotations source="positions.21" references="/0/CppClassBody/%.13"> - <details key="start" value="1085"/> - <details key="end" value="1102"/> + <details key="start" value="1096"/> + <details key="end" value="1113"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.22" references="/0/CppClassBody/%.13/self"> @@ -581,13 +596,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.23" references="/0/CppClassBody/%.14"> - <details key="start" value="1104"/> - <details key="end" value="1107"/> + <details key="start" value="1115"/> + <details key="end" value="1118"/> <details key="line" value="23"/> </eAnnotations> <eAnnotations source="positions.24" references="/0/CppClassBody/%.15"> - <details key="start" value="1108"/> - <details key="end" value="1124"/> + <details key="start" value="1119"/> + <details key="end" value="1135"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.25" references="/0/CppClassBody/%.15/self"> @@ -596,13 +611,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.26" references="/0/CppClassBody/%.16"> - <details key="start" value="1126"/> - <details key="end" value="1128"/> + <details key="start" value="1137"/> + <details key="end" value="1139"/> <details key="line" value="26"/> </eAnnotations> <eAnnotations source="positions.27" references="/0/CppClassBody/%.17"> - <details key="start" value="1129"/> - <details key="end" value="1151"/> + <details key="start" value="1140"/> + <details key="end" value="1162"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.28" references="/0/CppClassBody/%.17/self"> @@ -611,13 +626,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.29" references="/0/CppClassBody/%.18"> - <details key="start" value="1153"/> - <details key="end" value="1154"/> + <details key="start" value="1164"/> + <details key="end" value="1165"/> <details key="line" value="28"/> </eAnnotations> <eAnnotations source="positions.30" references="/0/CppClassBody/%.19"> - <details key="start" value="1155"/> - <details key="end" value="1191"/> + <details key="start" value="1166"/> + <details key="end" value="1202"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.31" references="/0/CppClassBody/%.19/self"> @@ -626,48 +641,48 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.32" references="/0/CppClassBody/%.20"> - <details key="start" value="1193"/> - <details key="end" value="1195"/> + <details key="start" value="1204"/> + <details key="end" value="1206"/> <details key="line" value="29"/> </eAnnotations> <eAnnotations source="positions.33" references="/0/CppClassBody/%.21"> - <details key="start" value="1196"/> - <details key="end" value="1209"/> + <details key="start" value="1207"/> + <details key="end" value="1220"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.34" references="/0/CppClassBody/%.21/class"> - <details key="start" value="1203"/> - <details key="end" value="1208"/> + <details key="start" value="1214"/> + <details key="end" value="1219"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.35" references="/0/CppClassBody/%.22"> - <details key="start" value="1211"/> - <details key="end" value="1212"/> + <details key="start" value="1222"/> + <details key="end" value="1223"/> <details key="line" value="31"/> </eAnnotations> <eAnnotations source="positions.36" references="/0/CppClassBody/%.23"> - <details key="start" value="1213"/> - <details key="end" value="1239"/> + <details key="start" value="1224"/> + <details key="end" value="1250"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.37" references="/0/CppClassBody/%.23/class"> - <details key="start" value="1233"/> - <details key="end" value="1238"/> + <details key="start" value="1244"/> + <details key="end" value="1249"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.38" references="/0/CppClassBody/%.24"> - <details key="start" value="1241"/> - <details key="end" value="1242"/> + <details key="start" value="1252"/> + <details key="end" value="1253"/> <details key="line" value="32"/> </eAnnotations> <eAnnotations source="positions.39" references="/0/CppClassBody/%.25"> - <details key="start" value="1242"/> - <details key="end" value="1312"/> + <details key="start" value="1253"/> + <details key="end" value="1323"/> <details key="line" value="32"/> </eAnnotations> <eAnnotations source="positions.40" references="/0/CppClassBody/%.25/%"> - <details key="start" value="1265"/> - <details key="end" value="1304"/> + <details key="start" value="1276"/> + <details key="end" value="1315"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.41" references="/0/CppClassBody/%.25/%/self"> @@ -676,23 +691,23 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.42" references="/0/CppClassBody/%.25/%/%"> - <details key="start" value="1298"/> - <details key="end" value="1303"/> + <details key="start" value="1309"/> + <details key="end" value="1314"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.43" references="/0/CppClassBody/%.25/%.1"> - <details key="start" value="1306"/> - <details key="end" value="1307"/> + <details key="start" value="1317"/> + <details key="end" value="1318"/> <details key="line" value="34"/> </eAnnotations> <eAnnotations source="positions.44" references="/0/CppClassBody/%.25/%.2"> - <details key="start" value="1246"/> - <details key="end" value="1262"/> + <details key="start" value="1257"/> + <details key="end" value="1273"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.45" references="/0/CppClassBody/%.25/%.2/%"> - <details key="start" value="1250"/> - <details key="end" value="1262"/> + <details key="start" value="1261"/> + <details key="end" value="1273"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.46" references="/0/CppClassBody/%.25/%.2/%/self"> @@ -701,33 +716,33 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.47" references="/0/CppClassBody/%.26"> - <details key="start" value="1314"/> - <details key="end" value="1328"/> + <details key="start" value="1325"/> + <details key="end" value="1339"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.48" references="/0/CppClassBody/%.26/class"> - <details key="start" value="1322"/> - <details key="end" value="1327"/> + <details key="start" value="1333"/> + <details key="end" value="1338"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.49" references="/0/CppClassBody/%.27"> - <details key="start" value="1330"/> - <details key="end" value="1415"/> + <details key="start" value="1341"/> + <details key="end" value="1426"/> <details key="line" value="36"/> </eAnnotations> <eAnnotations source="positions.50" references="/0/CppClassBody/%.28"> - <details key="start" value="1416"/> - <details key="end" value="1426"/> + <details key="start" value="1427"/> + <details key="end" value="1437"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.51" references="/0/CppClassBody/%.28/class"> - <details key="start" value="1416"/> - <details key="end" value="1421"/> + <details key="start" value="1427"/> + <details key="end" value="1432"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.52" references="/0/CppClassBody/%.29"> - <details key="start" value="1428"/> - <details key="end" value="1502"/> + <details key="start" value="1439"/> + <details key="end" value="1513"/> <details key="line" value="38"/> </eAnnotations> <eAnnotations source="positions.53" references="/0/CppClassBody/class"> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl index 5adbcc9bc17..4d02a2f113d 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl @@ -20,7 +20,7 @@ [CppIncludePreBody()/] [constIncludeHFile()/] -#include <[_package.getFullPath()/]/[class.name/].[getHeaderSuffix()/]> +#include <[getNearestPackage().getFullPath()/]/[class.name/].[getHeaderSuffix()/]> [CppIncludeBody()/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl index d17225bd714..dce9463f9ea 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl @@ -7,7 +7,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../utils/ClassUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> @@ -21,49 +21,62 @@ <imports href="util/clazz/CppClassOperationsImplementation.emtl#/0"/> <imports href="util/CppTemplates.emtl#/0"/> <imports href="util/CppDocumentation.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Query" name="classUnionOrStruct" visibility="Public"> - <parameter name="classifier"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </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"> + <ownedModuleElement xsi:type="mtl:Template" name="classUnionOrStruct" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 'union'
"/> + <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="/5"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Union"> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Union"> <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Union"/> </argument> - </condition> - <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="union"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:IfExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <condition xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/4/DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> - </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:StringLiteralExp" stringSymbol="struct"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </elseExpression> - </elseExpression> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ifExpr> + <else> + <body xsi:type="mtl:IfBlock"> + <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/resetVisibility"/> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 struct
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + <else> + <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/resetVisibility"/> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 class
"/> + </else> + </body> + </else> + </body> + <parameter name="classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1469" endPosition="1637" value=" default initializer for non-static attributes with a default value
TODO: should be disabled by default, since non-static members can be initialized directly
in C++ 011"/> + <body startPosition="1590" endPosition="1758" value=" default initializer for non-static attributes with a default value
TODO: should be disabled by default, since non-static members can be initialized directly
in C++ 011"/> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="defaultInitializer" visibility="Public"> <body xsi:type="mtl:LetBlock"> @@ -80,7 +93,7 @@ <body xsi:type="mtl:ForBlock"> <body xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> @@ -90,7 +103,7 @@ <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="self" referredVariable="/19"> + <source 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"/> </source> <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> @@ -101,7 +114,7 @@ <loopVariable name="a"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </loopVariable> - <iterSet xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/11/Set(Property)" referredVariable="/0/defaultInitializer/%/attributeList"/> + <iterSet xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/16/Set(Property)" referredVariable="/0/defaultInitializer/%/attributeList"/> <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> @@ -111,16 +124,16 @@ <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="attributeList" eType="/11/Set(Property)" referredVariable="/0/defaultInitializer/%/attributeList"/> + <source xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/16/Set(Property)" referredVariable="/0/defaultInitializer/%/attributeList"/> <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/isEmpty"/> </source> <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> </ifExpr> </body> - <letVariable name="attributeList" eType="/11/Set(Property)"> - <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/11/Set(Property)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/11/Set(Property)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> + <letVariable name="attributeList" eType="/16/Set(Property)"> + <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/16/Set(Property)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/16/Set(Property)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </source> <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> @@ -188,27 +201,28 @@ <parameter name="classifier"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </parameter> - <post xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim"> + <post 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:VariableExp" name="self" referredVariable="/9"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> </post> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="CppClassHeader" visibility="Public"> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#ifndef "/> <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/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/31"> <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="_H
#define "/> <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/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <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#//Classifier"/> </argument> </body> @@ -226,7 +240,7 @@ <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <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="/29"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> <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#//Type/package"/> @@ -236,7 +250,7 @@ <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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30"> + <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> </body> @@ -244,7 +258,7 @@ <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="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/31"> + <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#//Classifier"/> </argument> </body> @@ -252,7 +266,7 @@ <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="/32"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/37"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -260,7 +274,7 @@ <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="util/CppDocumentation.emtl#/0/CppElementDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> + <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#//Classifier"/> </argument> </body> @@ -268,13 +282,13 @@ <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="util/CppTemplates.emtl#/0/templateSignature"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> + <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="mtl:QueryInvocation" definition="/0/classUnionOrStruct"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/classUnionOrStruct"> <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="/35"> + <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#//Classifier"/> </argument> </body> @@ -289,7 +303,7 @@ <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="util/clazz/CppClassInheritedDeclarations.emtl#/0/CppClassInheritedDeclarations"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/37"> + <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#//Classifier"/> </argument> </body> @@ -297,97 +311,157 @@ <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="util/clazz/CppClassFriendDeclaration.emtl#/0/CppClassIncludeFriendDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38"> + <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#//Classifier"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnum"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 public:
"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer"> + <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"/> - <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#//Classifier"/> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + <argument xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <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="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> </argument> + <argument 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="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + <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#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <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#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> </argument> + <argument 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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + <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#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 protected:
"/> - <body xsi:type="mtl:TemplateInvocation"> + <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="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <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#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> </argument> + <argument 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="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> </argument> + <argument 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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + <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#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 private:
"/> - <body xsi:type="mtl:TemplateInvocation"> + <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="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <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#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> </argument> + <argument 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="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + <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#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <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#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> </argument> + <argument 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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

};
/************************************************************/
/* External declarations (package visibility) */
"/> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
};
/************************************************************/
/* External declarations (package visibility) */
"/> <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="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47"> + <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> <argument xsi:type="ocl.ecore:EnumLiteralExp"> @@ -399,7 +473,7 @@ <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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> <argument xsi:type="ocl.ecore:EnumLiteralExp"> @@ -413,7 +487,7 @@ <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="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/50"> + <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> <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> @@ -424,7 +498,7 @@ <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="util/CppTemplates.emtl#/0/isTemplate"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </ifExpr> @@ -433,7 +507,7 @@ <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="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/56"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true"> @@ -444,7 +518,7 @@ <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="/52"> + <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#//Classifier"/> </argument> </body> @@ -467,10 +541,6 @@ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eAnnotations> - <eOperations name="trim"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -521,7 +591,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -533,7 +603,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -567,6 +637,33 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </eParameters> </eOperations> + <eOperations name="resetVisibility"> + <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/resetVisibility"/> + </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:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="getSection"> + <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/getSection"/> + </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:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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="CppIncludeHeader"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -776,11 +873,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> @@ -808,6 +920,12 @@ <ocl.ecore:Variable name="self"> <eType xsi:type="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="types"> <eClassifiers xsi:type="ocl.ecore:TypeType" name="Union"> <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Union"/> @@ -820,6 +938,15 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> @@ -971,763 +1098,893 @@ <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/classUnionOrStruct"> <details key="start" value="1268"/> - <details key="end" value="1459"/> + <details key="end" value="1580"/> <details key="line" value="18"/> </eAnnotations> - <eAnnotations source="positions.1" references="/0/classUnionOrStruct/classifier"> - <details key="start" value="1301"/> - <details key="end" value="1324"/> - <details key="line" value="18"/> + <eAnnotations source="positions.1" references="/0/classUnionOrStruct/%"> + <details key="start" value="1330"/> + <details key="end" value="1568"/> + <details key="line" value="19"/> </eAnnotations> - <eAnnotations source="positions.2" references="/0/classUnionOrStruct/%"> - <details key="start" value="1337"/> - <details key="end" value="1456"/> - <details key="line" value="0"/> + <eAnnotations source="positions.2" references="/0/classUnionOrStruct/%/%"> + <details key="start" value="1365"/> + <details key="end" value="1377"/> + <details key="line" value="20"/> </eAnnotations> - <eAnnotations source="positions.3" references="/0/classUnionOrStruct/%/%"> - <details key="start" value="1340"/> - <details key="end" value="1369"/> + <eAnnotations source="positions.3" references="/0/classUnionOrStruct/%/%.1"> + <details key="start" value="1334"/> + <details key="end" value="1363"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.4" references="/0/classUnionOrStruct/%/%/self"> + <eAnnotations source="positions.4" references="/0/classUnionOrStruct/%/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.5" references="/0/classUnionOrStruct/%/%/%"> - <details key="start" value="1355"/> - <details key="end" value="1367"/> + <eAnnotations source="positions.5" references="/0/classUnionOrStruct/%/%.1/%"> + <details key="start" value="1349"/> + <details key="end" value="1361"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.6" references="/0/classUnionOrStruct/%/%.1"> - <details key="start" value="1375"/> - <details key="end" value="1382"/> + <eAnnotations source="positions.6" references="/0/classUnionOrStruct/%/%.2"> + <details key="start" value="1377"/> + <details key="end" value="1563"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/classUnionOrStruct/%/%.2/%"> + <details key="start" value="1385"/> + <details key="end" value="1562"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/classUnionOrStruct/%/%.2/%/%"> + <details key="start" value="1414"/> + <details key="end" value="1422"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/classUnionOrStruct/%/%.2/%/%.1"> + <details key="start" value="1423"/> + <details key="end" value="1463"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.7" references="/0/classUnionOrStruct/%/%.2"> - <details key="start" value="1389"/> - <details key="end" value="1450"/> + <eAnnotations source="positions.10" references="/0/classUnionOrStruct/%/%.2/%/%.1/%"> + <details key="start" value="1423"/> + <details key="end" value="1445"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.8" references="/0/classUnionOrStruct/%/%.2/%"> - <details key="start" value="1392"/> - <details key="end" value="1415"/> + <eAnnotations source="positions.11" references="/0/classUnionOrStruct/%/%.2/%/%.2"> + <details key="start" value="1465"/> + <details key="end" value="1481"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/classUnionOrStruct/%/%.2/%/%.3"> + <details key="start" value="1389"/> + <details key="end" value="1412"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.9" references="/0/classUnionOrStruct/%/%.2/%/self"> + <eAnnotations source="positions.13" references="/0/classUnionOrStruct/%/%.2/%/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.10" references="/0/classUnionOrStruct/%/%.2/%/%"> - <details key="start" value="1405"/> - <details key="end" value="1413"/> + <eAnnotations source="positions.14" references="/0/classUnionOrStruct/%/%.2/%/%.3/%"> + <details key="start" value="1402"/> + <details key="end" value="1410"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.11" references="/0/classUnionOrStruct/%/%.2/%.1"> - <details key="start" value="1421"/> - <details key="end" value="1429"/> - <details key="line" value="0"/> + <eAnnotations source="positions.15" references="/0/classUnionOrStruct/%/%.2/%/%.4"> + <details key="start" value="1482"/> + <details key="end" value="1557"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/classUnionOrStruct/%/%.2/%/%.4/%"> + <details key="start" value="1489"/> + <details key="end" value="1497"/> + <details key="line" value="26"/> </eAnnotations> - <eAnnotations source="positions.12" references="/0/classUnionOrStruct/%/%.2/%.2"> - <details key="start" value="1436"/> - <details key="end" value="1443"/> + <eAnnotations source="positions.17" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.1"> + <details key="start" value="1498"/> + <details key="end" value="1539"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.13" references="/0/%"> - <details key="start" value="1461"/> - <details key="end" value="1639"/> + <eAnnotations source="positions.18" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.1/%"> + <details key="start" value="1498"/> + <details key="end" value="1521"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.14" references="/0/defaultInitializer"> - <details key="start" value="1640"/> - <details key="end" value="2048"/> - <details key="line" value="30"/> + <eAnnotations source="positions.19" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.2"> + <details key="start" value="1541"/> + <details key="end" value="1556"/> + <details key="line" value="27"/> </eAnnotations> - <eAnnotations source="positions.15" references="/0/defaultInitializer/%"> - <details key="start" value="1715"/> - <details key="end" value="2036"/> - <details key="line" value="31"/> + <eAnnotations source="positions.20" references="/0/classUnionOrStruct/classifier"> + <details key="start" value="1304"/> + <details key="end" value="1327"/> + <details key="line" value="18"/> </eAnnotations> - <eAnnotations source="positions.16" references="/0/defaultInitializer/%/%"> - <details key="start" value="1864"/> - <details key="end" value="2030"/> + <eAnnotations source="positions.21" references="/0/%"> + <details key="start" value="1582"/> + <details key="end" value="1760"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/defaultInitializer"> + <details key="start" value="1761"/> + <details key="end" value="2169"/> <details key="line" value="35"/> </eAnnotations> - <eAnnotations source="positions.17" references="/0/defaultInitializer/%/%/%"> - <details key="start" value="1898"/> - <details key="end" value="1899"/> + <eAnnotations source="positions.23" references="/0/defaultInitializer/%"> + <details key="start" value="1836"/> + <details key="end" value="2157"/> <details key="line" value="36"/> </eAnnotations> - <eAnnotations source="positions.18" references="/0/defaultInitializer/%/%/%.1"> - <details key="start" value="1900"/> - <details key="end" value="1915"/> + <eAnnotations source="positions.24" references="/0/defaultInitializer/%/%"> + <details key="start" value="1985"/> + <details key="end" value="2151"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/defaultInitializer/%/%/%"> + <details key="start" value="2019"/> + <details key="end" value="2020"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/defaultInitializer/%/%/%.1"> + <details key="start" value="2021"/> + <details key="end" value="2036"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.19" references="/0/defaultInitializer/%/%/%.1/classifier"> - <details key="start" value="1900"/> - <details key="end" value="1910"/> + <eAnnotations source="positions.27" references="/0/defaultInitializer/%/%/%.1/classifier"> + <details key="start" value="2021"/> + <details key="end" value="2031"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.20" references="/0/defaultInitializer/%/%/%.2"> - <details key="start" value="1917"/> - <details key="end" value="1922"/> - <details key="line" value="36"/> + <eAnnotations source="positions.28" references="/0/defaultInitializer/%/%/%.2"> + <details key="start" value="2038"/> + <details key="end" value="2043"/> + <details key="line" value="41"/> </eAnnotations> - <eAnnotations source="positions.21" references="/0/defaultInitializer/%/%/%.3"> - <details key="start" value="1922"/> - <details key="end" value="2021"/> - <details key="line" value="36"/> + <eAnnotations source="positions.29" references="/0/defaultInitializer/%/%/%.3"> + <details key="start" value="2043"/> + <details key="end" value="2142"/> + <details key="line" value="41"/> </eAnnotations> - <eAnnotations source="positions.22" references="/0/defaultInitializer/%/%/%.3/%"> - <details key="start" value="1978"/> - <details key="end" value="1982"/> + <eAnnotations source="positions.30" references="/0/defaultInitializer/%/%/%.3/%"> + <details key="start" value="2099"/> + <details key="end" value="2103"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.23" references="/0/defaultInitializer/%/%/%.3/%/self"> + <eAnnotations source="positions.31" references="/0/defaultInitializer/%/%/%.3/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.24" references="/0/defaultInitializer/%/%/%.3/%.1"> - <details key="start" value="1984"/> - <details key="end" value="1985"/> - <details key="line" value="37"/> + <eAnnotations source="positions.32" references="/0/defaultInitializer/%/%/%.3/%.1"> + <details key="start" value="2105"/> + <details key="end" value="2106"/> + <details key="line" value="42"/> </eAnnotations> - <eAnnotations source="positions.25" references="/0/defaultInitializer/%/%/%.3/%.2"> - <details key="start" value="1986"/> - <details key="end" value="2012"/> + <eAnnotations source="positions.33" references="/0/defaultInitializer/%/%/%.3/%.2"> + <details key="start" value="2107"/> + <details key="end" value="2133"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.26" references="/0/defaultInitializer/%/%/%.3/%.2/%"> - <details key="start" value="1986"/> - <details key="end" value="1998"/> + <eAnnotations source="positions.34" references="/0/defaultInitializer/%/%/%.3/%.2/%"> + <details key="start" value="2107"/> + <details key="end" value="2119"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.27" references="/0/defaultInitializer/%/%/%.3/%.2/%/self"> + <eAnnotations source="positions.35" references="/0/defaultInitializer/%/%/%.3/%.2/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.28" references="/0/defaultInitializer/%/%/%.3/%.3"> - <details key="start" value="2014"/> - <details key="end" value="2015"/> - <details key="line" value="37"/> + <eAnnotations source="positions.36" references="/0/defaultInitializer/%/%/%.3/%.3"> + <details key="start" value="2135"/> + <details key="end" value="2136"/> + <details key="line" value="42"/> </eAnnotations> - <eAnnotations source="positions.29" references="/0/defaultInitializer/%/%/%.3/a"> - <details key="start" value="1928"/> - <details key="end" value="1940"/> - <details key="line" value="36"/> + <eAnnotations source="positions.37" references="/0/defaultInitializer/%/%/%.3/a"> + <details key="start" value="2049"/> + <details key="end" value="2061"/> + <details key="line" value="41"/> </eAnnotations> - <eAnnotations source="positions.30" references="/0/defaultInitializer/%/%/%.3/attributeList"> - <details key="start" value="1943"/> - <details key="end" value="1956"/> + <eAnnotations source="positions.38" references="/0/defaultInitializer/%/%/%.3/attributeList"> + <details key="start" value="2064"/> + <details key="end" value="2077"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.31" references="/0/defaultInitializer/%/%/%.3/%.4"> - <details key="start" value="1968"/> - <details key="end" value="1972"/> + <eAnnotations source="positions.39" references="/0/defaultInitializer/%/%/%.3/%.4"> + <details key="start" value="2089"/> + <details key="end" value="2093"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.32" references="/0/defaultInitializer/%/%/%.4"> - <details key="start" value="2021"/> - <details key="end" value="2025"/> - <details key="line" value="37"/> + <eAnnotations source="positions.40" references="/0/defaultInitializer/%/%/%.4"> + <details key="start" value="2142"/> + <details key="end" value="2146"/> + <details key="line" value="42"/> </eAnnotations> - <eAnnotations source="positions.33" references="/0/defaultInitializer/%/%/%.5"> - <details key="start" value="1868"/> - <details key="end" value="1896"/> + <eAnnotations source="positions.41" references="/0/defaultInitializer/%/%/%.5"> + <details key="start" value="1989"/> + <details key="end" value="2017"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.34" references="/0/defaultInitializer/%/%/%.5/%"> - <details key="start" value="1872"/> - <details key="end" value="1896"/> + <eAnnotations source="positions.42" references="/0/defaultInitializer/%/%/%.5/%"> + <details key="start" value="1993"/> + <details key="end" value="2017"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.35" references="/0/defaultInitializer/%/%/%.5/%/attributeList"> - <details key="start" value="1872"/> - <details key="end" value="1885"/> + <eAnnotations source="positions.43" references="/0/defaultInitializer/%/%/%.5/%/attributeList"> + <details key="start" value="1993"/> + <details key="end" value="2006"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.36" references="/0/defaultInitializer/%/attributeList"> - <details key="start" value="1720"/> - <details key="end" value="1862"/> - <details key="line" value="31"/> + <eAnnotations source="positions.44" references="/0/defaultInitializer/%/attributeList"> + <details key="start" value="1841"/> + <details key="end" value="1983"/> + <details key="line" value="36"/> </eAnnotations> - <eAnnotations source="positions.37" references="/0/defaultInitializer/%/attributeList/select"> - <details key="start" value="1753"/> - <details key="end" value="1863"/> + <eAnnotations source="positions.45" references="/0/defaultInitializer/%/attributeList/select"> + <details key="start" value="1874"/> + <details key="end" value="1984"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.38" references="/0/defaultInitializer/%/attributeList/select/%"> - <details key="start" value="1753"/> - <details key="end" value="1762"/> + <eAnnotations source="positions.46" references="/0/defaultInitializer/%/attributeList/select/%"> + <details key="start" value="1874"/> + <details key="end" value="1883"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.39" references="/0/defaultInitializer/%/attributeList/select/%/self"> + <eAnnotations source="positions.47" references="/0/defaultInitializer/%/attributeList/select/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.40" references="/0/defaultInitializer/%/attributeList/select/%.1"> - <details key="start" value="1774"/> - <details key="end" value="1862"/> + <eAnnotations source="positions.48" references="/0/defaultInitializer/%/attributeList/select/%.1"> + <details key="start" value="1895"/> + <details key="end" value="1983"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.41" references="/0/defaultInitializer/%/attributeList/select/%.1/%"> - <details key="start" value="1774"/> - <details key="end" value="1820"/> + <eAnnotations source="positions.49" references="/0/defaultInitializer/%/attributeList/select/%.1/%"> + <details key="start" value="1895"/> + <details key="end" value="1941"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.42" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%"> - <details key="start" value="1774"/> - <details key="end" value="1792"/> + <eAnnotations source="positions.50" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%"> + <details key="start" value="1895"/> + <details key="end" value="1913"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.43" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%"> - <details key="start" value="1775"/> - <details key="end" value="1783"/> + <eAnnotations source="positions.51" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%"> + <details key="start" value="1896"/> + <details key="end" value="1904"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.44" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%/temp1"> + <eAnnotations source="positions.52" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.45" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%.1"> - <details key="start" value="1786"/> - <details key="end" value="1791"/> + <eAnnotations source="positions.53" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%.1"> + <details key="start" value="1907"/> + <details key="end" value="1912"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.46" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1"> - <details key="start" value="1798"/> - <details key="end" value="1820"/> + <eAnnotations source="positions.54" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1"> + <details key="start" value="1919"/> + <details key="end" value="1941"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.47" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%"> - <details key="start" value="1799"/> - <details key="end" value="1811"/> + <eAnnotations source="positions.55" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%"> + <details key="start" value="1920"/> + <details key="end" value="1932"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.48" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%/temp1"> + <eAnnotations source="positions.56" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.49" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%.1"> - <details key="start" value="1815"/> - <details key="end" value="1819"/> + <eAnnotations source="positions.57" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%.1"> + <details key="start" value="1936"/> + <details key="end" value="1940"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.50" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1"> - <details key="start" value="1826"/> - <details key="end" value="1862"/> + <eAnnotations source="positions.58" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1"> + <details key="start" value="1947"/> + <details key="end" value="1983"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.51" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%"> - <details key="start" value="1827"/> - <details key="end" value="1853"/> + <eAnnotations source="positions.59" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%"> + <details key="start" value="1948"/> + <details key="end" value="1974"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.52" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%/%"> - <details key="start" value="1827"/> - <details key="end" value="1839"/> + <eAnnotations source="positions.60" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%/%"> + <details key="start" value="1948"/> + <details key="end" value="1960"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.53" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%/%/temp1"> + <eAnnotations source="positions.61" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%/%/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.54" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%.1"> - <details key="start" value="1857"/> - <details key="end" value="1861"/> + <eAnnotations source="positions.62" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%.1"> + <details key="start" value="1978"/> + <details key="end" value="1982"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.55" references="/0/defaultInitializer/%/attributeList/select/temp1"> + <eAnnotations source="positions.63" references="/0/defaultInitializer/%/attributeList/select/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.56" references="/0/defaultInitializer/classifier"> - <details key="start" value="1676"/> - <details key="end" value="1699"/> - <details key="line" value="30"/> + <eAnnotations source="positions.64" references="/0/defaultInitializer/classifier"> + <details key="start" value="1797"/> + <details key="end" value="1820"/> + <details key="line" value="35"/> </eAnnotations> - <eAnnotations source="positions.57" references="/0/defaultInitializer/%.1"> - <details key="start" value="1706"/> - <details key="end" value="1712"/> + <eAnnotations source="positions.65" references="/0/defaultInitializer/%.1"> + <details key="start" value="1827"/> + <details key="end" value="1833"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.58" references="/0/defaultInitializer/%.1/self"> + <eAnnotations source="positions.66" references="/0/defaultInitializer/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppClassHeader"> - <details key="start" value="2051"/> - <details key="end" value="3917"/> - <details key="line" value="42"/> + <eAnnotations source="positions.67" references="/0/CppClassHeader"> + <details key="start" value="2172"/> + <details key="end" value="4287"/> + <details key="line" value="47"/> </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppClassHeader/%"> - <details key="start" value="2104"/> - <details key="end" value="2112"/> - <details key="line" value="43"/> + <eAnnotations source="positions.68" references="/0/CppClassHeader/%"> + <details key="start" value="2225"/> + <details key="end" value="2233"/> + <details key="line" value="48"/> </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppClassHeader/%.1"> - <details key="start" value="2113"/> - <details key="end" value="2128"/> + <eAnnotations source="positions.69" references="/0/CppClassHeader/%.1"> + <details key="start" value="2234"/> + <details key="end" value="2249"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppClassHeader/%.1/self"> + <eAnnotations source="positions.70" references="/0/CppClassHeader/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppClassHeader/%.2"> - <details key="start" value="2130"/> - <details key="end" value="2141"/> - <details key="line" value="43"/> + <eAnnotations source="positions.71" references="/0/CppClassHeader/%.2"> + <details key="start" value="2251"/> + <details key="end" value="2262"/> + <details key="line" value="48"/> </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppClassHeader/%.3"> - <details key="start" value="2142"/> - <details key="end" value="2157"/> + <eAnnotations source="positions.72" references="/0/CppClassHeader/%.3"> + <details key="start" value="2263"/> + <details key="end" value="2278"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppClassHeader/%.3/self"> + <eAnnotations source="positions.73" references="/0/CppClassHeader/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.66" references="/0/CppClassHeader/%.4"> - <details key="start" value="2159"/> - <details key="end" value="2239"/> - <details key="line" value="44"/> + <eAnnotations source="positions.74" references="/0/CppClassHeader/%.4"> + <details key="start" value="2280"/> + <details key="end" value="2360"/> + <details key="line" value="49"/> </eAnnotations> - <eAnnotations source="positions.67" references="/0/CppClassHeader/%.5"> - <details key="start" value="2240"/> - <details key="end" value="2250"/> + <eAnnotations source="positions.75" references="/0/CppClassHeader/%.5"> + <details key="start" value="2361"/> + <details key="end" value="2371"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.68" references="/0/CppClassHeader/%.5/class"> - <details key="start" value="2240"/> - <details key="end" value="2245"/> + <eAnnotations source="positions.76" references="/0/CppClassHeader/%.5/class"> + <details key="start" value="2361"/> + <details key="end" value="2366"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.69" references="/0/CppClassHeader/%.6"> - <details key="start" value="2252"/> - <details key="end" value="2330"/> - <details key="line" value="47"/> + <eAnnotations source="positions.77" references="/0/CppClassHeader/%.6"> + <details key="start" value="2373"/> + <details key="end" value="2451"/> + <details key="line" value="52"/> </eAnnotations> - <eAnnotations source="positions.70" references="/0/CppClassHeader/%.7"> - <details key="start" value="2331"/> - <details key="end" value="2375"/> + <eAnnotations source="positions.78" references="/0/CppClassHeader/%.7"> + <details key="start" value="2452"/> + <details key="end" value="2496"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.71" references="/0/CppClassHeader/%.7/%"> - <details key="start" value="2331"/> - <details key="end" value="2339"/> + <eAnnotations source="positions.79" references="/0/CppClassHeader/%.7/%"> + <details key="start" value="2452"/> + <details key="end" value="2460"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.72" references="/0/CppClassHeader/%.7/%/self"> + <eAnnotations source="positions.80" references="/0/CppClassHeader/%.7/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.73" references="/0/CppClassHeader/%.8"> - <details key="start" value="2377"/> - <details key="end" value="2379"/> - <details key="line" value="51"/> + <eAnnotations source="positions.81" references="/0/CppClassHeader/%.8"> + <details key="start" value="2498"/> + <details key="end" value="2500"/> + <details key="line" value="56"/> </eAnnotations> - <eAnnotations source="positions.74" references="/0/CppClassHeader/%.9"> - <details key="start" value="2380"/> - <details key="end" value="2412"/> + <eAnnotations source="positions.82" references="/0/CppClassHeader/%.9"> + <details key="start" value="2501"/> + <details key="end" value="2533"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.75" references="/0/CppClassHeader/%.9/self"> + <eAnnotations source="positions.83" references="/0/CppClassHeader/%.9/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.76" references="/0/CppClassHeader/%.10"> - <details key="start" value="2414"/> - <details key="end" value="2416"/> - <details key="line" value="53"/> + <eAnnotations source="positions.84" references="/0/CppClassHeader/%.10"> + <details key="start" value="2535"/> + <details key="end" value="2537"/> + <details key="line" value="58"/> </eAnnotations> - <eAnnotations source="positions.77" references="/0/CppClassHeader/%.11"> - <details key="start" value="2417"/> - <details key="end" value="2435"/> + <eAnnotations source="positions.85" references="/0/CppClassHeader/%.11"> + <details key="start" value="2538"/> + <details key="end" value="2556"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.78" references="/0/CppClassHeader/%.11/self"> + <eAnnotations source="positions.86" references="/0/CppClassHeader/%.11/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.79" references="/0/CppClassHeader/%.12"> - <details key="start" value="2437"/> - <details key="end" value="2439"/> - <details key="line" value="55"/> + <eAnnotations source="positions.87" references="/0/CppClassHeader/%.12"> + <details key="start" value="2558"/> + <details key="end" value="2560"/> + <details key="line" value="60"/> </eAnnotations> - <eAnnotations source="positions.80" references="/0/CppClassHeader/%.13"> - <details key="start" value="2440"/> - <details key="end" value="2448"/> + <eAnnotations source="positions.88" references="/0/CppClassHeader/%.13"> + <details key="start" value="2561"/> + <details key="end" value="2569"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.81" references="/0/CppClassHeader/%.13/self"> + <eAnnotations source="positions.89" references="/0/CppClassHeader/%.13/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.82" references="/0/CppClassHeader/%.14"> - <details key="start" value="2450"/> - <details key="end" value="2516"/> - <details key="line" value="56"/> + <eAnnotations source="positions.90" references="/0/CppClassHeader/%.14"> + <details key="start" value="2571"/> + <details key="end" value="2637"/> + <details key="line" value="61"/> </eAnnotations> - <eAnnotations source="positions.83" references="/0/CppClassHeader/%.15"> - <details key="start" value="2517"/> - <details key="end" value="2532"/> + <eAnnotations source="positions.91" references="/0/CppClassHeader/%.15"> + <details key="start" value="2638"/> + <details key="end" value="2653"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.84" references="/0/CppClassHeader/%.15/self"> + <eAnnotations source="positions.92" references="/0/CppClassHeader/%.15/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.85" references="/0/CppClassHeader/%.16"> - <details key="start" value="2534"/> - <details key="end" value="2535"/> - <details key="line" value="60"/> + <eAnnotations source="positions.93" references="/0/CppClassHeader/%.16"> + <details key="start" value="2655"/> + <details key="end" value="2656"/> + <details key="line" value="65"/> </eAnnotations> - <eAnnotations source="positions.86" references="/0/CppClassHeader/%.17"> - <details key="start" value="2536"/> - <details key="end" value="2555"/> + <eAnnotations source="positions.94" references="/0/CppClassHeader/%.17"> + <details key="start" value="2657"/> + <details key="end" value="2676"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.87" references="/0/CppClassHeader/%.17/self"> + <eAnnotations source="positions.95" references="/0/CppClassHeader/%.17/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.88" references="/0/CppClassHeader/%.18"> - <details key="start" value="2558"/> - <details key="end" value="2578"/> + <eAnnotations source="positions.96" references="/0/CppClassHeader/%.18"> + <details key="start" value="2679"/> + <details key="end" value="2699"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.89" references="/0/CppClassHeader/%.18/self"> + <eAnnotations source="positions.97" references="/0/CppClassHeader/%.18/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.90" references="/0/CppClassHeader/%.19"> - <details key="start" value="2580"/> - <details key="end" value="2581"/> - <details key="line" value="60"/> + <eAnnotations source="positions.98" references="/0/CppClassHeader/%.19"> + <details key="start" value="2701"/> + <details key="end" value="2702"/> + <details key="line" value="65"/> </eAnnotations> - <eAnnotations source="positions.91" references="/0/CppClassHeader/%.20"> - <details key="start" value="2582"/> - <details key="end" value="2592"/> + <eAnnotations source="positions.99" references="/0/CppClassHeader/%.20"> + <details key="start" value="2703"/> + <details key="end" value="2713"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.92" references="/0/CppClassHeader/%.20/class"> - <details key="start" value="2582"/> - <details key="end" value="2587"/> + <eAnnotations source="positions.100" references="/0/CppClassHeader/%.20/class"> + <details key="start" value="2703"/> + <details key="end" value="2708"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.93" references="/0/CppClassHeader/%.21"> - <details key="start" value="2595"/> - <details key="end" value="2626"/> + <eAnnotations source="positions.101" references="/0/CppClassHeader/%.21"> + <details key="start" value="2716"/> + <details key="end" value="2747"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.94" references="/0/CppClassHeader/%.21/self"> + <eAnnotations source="positions.102" references="/0/CppClassHeader/%.21/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.95" references="/0/CppClassHeader/%.22"> - <details key="start" value="2628"/> - <details key="end" value="2631"/> - <details key="line" value="60"/> + <eAnnotations source="positions.103" references="/0/CppClassHeader/%.22"> + <details key="start" value="2749"/> + <details key="end" value="2752"/> + <details key="line" value="65"/> </eAnnotations> - <eAnnotations source="positions.96" references="/0/CppClassHeader/%.23"> - <details key="start" value="2632"/> - <details key="end" value="2666"/> + <eAnnotations source="positions.104" references="/0/CppClassHeader/%.23"> + <details key="start" value="2753"/> + <details key="end" value="2787"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.97" references="/0/CppClassHeader/%.23/self"> + <eAnnotations source="positions.105" references="/0/CppClassHeader/%.23/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.98" references="/0/CppClassHeader/%.24"> - <details key="start" value="2669"/> - <details key="end" value="2690"/> + <eAnnotations source="positions.106" references="/0/CppClassHeader/%.24"> + <details key="start" value="2790"/> + <details key="end" value="2811"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.99" references="/0/CppClassHeader/%.24/self"> + <eAnnotations source="positions.107" references="/0/CppClassHeader/%.24/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.100" references="/0/CppClassHeader/%.25"> - <details key="start" value="2692"/> - <details key="end" value="2704"/> - <details key="line" value="62"/> + <eAnnotations source="positions.108" references="/0/CppClassHeader/%.25"> + <details key="start" value="2813"/> + <details key="end" value="2818"/> + <details key="line" value="67"/> + </eAnnotations> + <eAnnotations source="positions.109" references="/0/CppClassHeader/%.26"> + <details key="start" value="2819"/> + <details key="end" value="2874"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.101" references="/0/CppClassHeader/%.26"> - <details key="start" value="2705"/> - <details key="end" value="2725"/> + <eAnnotations source="positions.110" references="/0/CppClassHeader/%.26/%"> + <details key="start" value="2819"/> + <details key="end" value="2841"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.102" references="/0/CppClassHeader/%.26/self"> + <eAnnotations source="positions.111" references="/0/CppClassHeader/%.26/%.1"> + <details key="start" value="2853"/> + <details key="end" value="2873"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.112" references="/0/CppClassHeader/%.26/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.103" references="/0/CppClassHeader/%.27"> - <details key="start" value="2728"/> - <details key="end" value="2781"/> + <eAnnotations source="positions.113" references="/0/CppClassHeader/%.27"> + <details key="start" value="2876"/> + <details key="end" value="2881"/> + <details key="line" value="68"/> + </eAnnotations> + <eAnnotations source="positions.114" references="/0/CppClassHeader/%.28"> + <details key="start" value="2882"/> + <details key="end" value="2970"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.115" references="/0/CppClassHeader/%.28/%"> + <details key="start" value="2882"/> + <details key="end" value="2904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.116" references="/0/CppClassHeader/%.28/%.1"> + <details key="start" value="2916"/> + <details key="end" value="2969"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.104" references="/0/CppClassHeader/%.27/self"> + <eAnnotations source="positions.117" references="/0/CppClassHeader/%.28/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.105" references="/0/CppClassHeader/%.27/%"> - <details key="start" value="2758"/> - <details key="end" value="2780"/> + <eAnnotations source="positions.118" references="/0/CppClassHeader/%.28/%.1/%"> + <details key="start" value="2946"/> + <details key="end" value="2968"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.106" references="/0/CppClassHeader/%.28"> - <details key="start" value="2784"/> - <details key="end" value="2837"/> + <eAnnotations source="positions.119" references="/0/CppClassHeader/%.29"> + <details key="start" value="2972"/> + <details key="end" value="2977"/> + <details key="line" value="69"/> + </eAnnotations> + <eAnnotations source="positions.120" references="/0/CppClassHeader/%.30"> + <details key="start" value="2978"/> + <details key="end" value="3066"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.121" references="/0/CppClassHeader/%.30/%"> + <details key="start" value="2978"/> + <details key="end" value="3000"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.107" references="/0/CppClassHeader/%.28/self"> + <eAnnotations source="positions.122" references="/0/CppClassHeader/%.30/%.1"> + <details key="start" value="3012"/> + <details key="end" value="3065"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.123" references="/0/CppClassHeader/%.30/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.108" references="/0/CppClassHeader/%.28/%"> - <details key="start" value="2814"/> - <details key="end" value="2836"/> + <eAnnotations source="positions.124" references="/0/CppClassHeader/%.30/%.1/%"> + <details key="start" value="3042"/> + <details key="end" value="3064"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.109" references="/0/CppClassHeader/%.29"> - <details key="start" value="2839"/> - <details key="end" value="2854"/> - <details key="line" value="65"/> + <eAnnotations source="positions.125" references="/0/CppClassHeader/%.31"> + <details key="start" value="3068"/> + <details key="end" value="3074"/> + <details key="line" value="70"/> + </eAnnotations> + <eAnnotations source="positions.126" references="/0/CppClassHeader/%.32"> + <details key="start" value="3075"/> + <details key="end" value="3169"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.127" references="/0/CppClassHeader/%.32/%"> + <details key="start" value="3075"/> + <details key="end" value="3100"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.110" references="/0/CppClassHeader/%.30"> - <details key="start" value="2855"/> - <details key="end" value="2911"/> + <eAnnotations source="positions.128" references="/0/CppClassHeader/%.32/%.1"> + <details key="start" value="3112"/> + <details key="end" value="3168"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.111" references="/0/CppClassHeader/%.30/self"> + <eAnnotations source="positions.129" references="/0/CppClassHeader/%.32/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.112" references="/0/CppClassHeader/%.30/%"> - <details key="start" value="2885"/> - <details key="end" value="2910"/> + <eAnnotations source="positions.130" references="/0/CppClassHeader/%.32/%.1/%"> + <details key="start" value="3142"/> + <details key="end" value="3167"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.113" references="/0/CppClassHeader/%.31"> - <details key="start" value="2914"/> - <details key="end" value="2970"/> + <eAnnotations source="positions.131" references="/0/CppClassHeader/%.33"> + <details key="start" value="3171"/> + <details key="end" value="3176"/> + <details key="line" value="72"/> + </eAnnotations> + <eAnnotations source="positions.132" references="/0/CppClassHeader/%.34"> + <details key="start" value="3177"/> + <details key="end" value="3271"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.133" references="/0/CppClassHeader/%.34/%"> + <details key="start" value="3177"/> + <details key="end" value="3202"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.134" references="/0/CppClassHeader/%.34/%.1"> + <details key="start" value="3214"/> + <details key="end" value="3270"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.114" references="/0/CppClassHeader/%.31/self"> + <eAnnotations source="positions.135" references="/0/CppClassHeader/%.34/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.115" references="/0/CppClassHeader/%.31/%"> - <details key="start" value="2944"/> - <details key="end" value="2969"/> + <eAnnotations source="positions.136" references="/0/CppClassHeader/%.34/%.1/%"> + <details key="start" value="3244"/> + <details key="end" value="3269"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.116" references="/0/CppClassHeader/%.32"> - <details key="start" value="2972"/> - <details key="end" value="2985"/> - <details key="line" value="68"/> + <eAnnotations source="positions.137" references="/0/CppClassHeader/%.35"> + <details key="start" value="3273"/> + <details key="end" value="3279"/> + <details key="line" value="73"/> + </eAnnotations> + <eAnnotations source="positions.138" references="/0/CppClassHeader/%.36"> + <details key="start" value="3280"/> + <details key="end" value="3370"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.117" references="/0/CppClassHeader/%.33"> - <details key="start" value="2986"/> - <details key="end" value="3040"/> + <eAnnotations source="positions.139" references="/0/CppClassHeader/%.36/%"> + <details key="start" value="3280"/> + <details key="end" value="3303"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.118" references="/0/CppClassHeader/%.33/self"> + <eAnnotations source="positions.140" references="/0/CppClassHeader/%.36/%.1"> + <details key="start" value="3315"/> + <details key="end" value="3369"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.141" references="/0/CppClassHeader/%.36/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.119" references="/0/CppClassHeader/%.33/%"> - <details key="start" value="3016"/> - <details key="end" value="3039"/> + <eAnnotations source="positions.142" references="/0/CppClassHeader/%.36/%.1/%"> + <details key="start" value="3345"/> + <details key="end" value="3368"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.120" references="/0/CppClassHeader/%.34"> - <details key="start" value="3043"/> - <details key="end" value="3097"/> + <eAnnotations source="positions.143" references="/0/CppClassHeader/%.37"> + <details key="start" value="3372"/> + <details key="end" value="3377"/> + <details key="line" value="75"/> + </eAnnotations> + <eAnnotations source="positions.144" references="/0/CppClassHeader/%.38"> + <details key="start" value="3378"/> + <details key="end" value="3468"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.121" references="/0/CppClassHeader/%.34/self"> + <eAnnotations source="positions.145" references="/0/CppClassHeader/%.38/%"> + <details key="start" value="3378"/> + <details key="end" value="3401"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.146" references="/0/CppClassHeader/%.38/%.1"> + <details key="start" value="3413"/> + <details key="end" value="3467"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.147" references="/0/CppClassHeader/%.38/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.122" references="/0/CppClassHeader/%.34/%"> - <details key="start" value="3073"/> - <details key="end" value="3096"/> + <eAnnotations source="positions.148" references="/0/CppClassHeader/%.38/%.1/%"> + <details key="start" value="3443"/> + <details key="end" value="3466"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.123" references="/0/CppClassHeader/%.35"> - <details key="start" value="3099"/> - <details key="end" value="3230"/> - <details key="line" value="71"/> + <eAnnotations source="positions.149" references="/0/CppClassHeader/%.39"> + <details key="start" value="3470"/> + <details key="end" value="3600"/> + <details key="line" value="76"/> </eAnnotations> - <eAnnotations source="positions.124" references="/0/CppClassHeader/%.36"> - <details key="start" value="3231"/> - <details key="end" value="3286"/> + <eAnnotations source="positions.150" references="/0/CppClassHeader/%.40"> + <details key="start" value="3601"/> + <details key="end" value="3656"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.125" references="/0/CppClassHeader/%.36/self"> + <eAnnotations source="positions.151" references="/0/CppClassHeader/%.40/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.126" references="/0/CppClassHeader/%.36/%"> - <details key="start" value="3261"/> - <details key="end" value="3285"/> + <eAnnotations source="positions.152" references="/0/CppClassHeader/%.40/%"> + <details key="start" value="3631"/> + <details key="end" value="3655"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.127" references="/0/CppClassHeader/%.37"> - <details key="start" value="3288"/> - <details key="end" value="3289"/> - <details key="line" value="76"/> + <eAnnotations source="positions.153" references="/0/CppClassHeader/%.41"> + <details key="start" value="3658"/> + <details key="end" value="3659"/> + <details key="line" value="80"/> </eAnnotations> - <eAnnotations source="positions.128" references="/0/CppClassHeader/%.38"> - <details key="start" value="3290"/> - <details key="end" value="3345"/> + <eAnnotations source="positions.154" references="/0/CppClassHeader/%.42"> + <details key="start" value="3660"/> + <details key="end" value="3715"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.129" references="/0/CppClassHeader/%.38/self"> + <eAnnotations source="positions.155" references="/0/CppClassHeader/%.42/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.130" references="/0/CppClassHeader/%.38/%"> - <details key="start" value="3320"/> - <details key="end" value="3344"/> + <eAnnotations source="positions.156" references="/0/CppClassHeader/%.42/%"> + <details key="start" value="3690"/> + <details key="end" value="3714"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.131" references="/0/CppClassHeader/%.39"> - <details key="start" value="3347"/> - <details key="end" value="3412"/> - <details key="line" value="77"/> + <eAnnotations source="positions.157" references="/0/CppClassHeader/%.43"> + <details key="start" value="3717"/> + <details key="end" value="3782"/> + <details key="line" value="81"/> </eAnnotations> - <eAnnotations source="positions.132" references="/0/CppClassHeader/%.40"> - <details key="start" value="3412"/> - <details key="end" value="3604"/> - <details key="line" value="79"/> + <eAnnotations source="positions.158" references="/0/CppClassHeader/%.44"> + <details key="start" value="3782"/> + <details key="end" value="3974"/> + <details key="line" value="83"/> </eAnnotations> - <eAnnotations source="positions.133" references="/0/CppClassHeader/%.40/%"> - <details key="start" value="3430"/> - <details key="end" value="3556"/> - <details key="line" value="80"/> + <eAnnotations source="positions.159" references="/0/CppClassHeader/%.44/%"> + <details key="start" value="3800"/> + <details key="end" value="3926"/> + <details key="line" value="84"/> </eAnnotations> - <eAnnotations source="positions.134" references="/0/CppClassHeader/%.40/%.1"> - <details key="start" value="3557"/> - <details key="end" value="3596"/> + <eAnnotations source="positions.160" references="/0/CppClassHeader/%.44/%.1"> + <details key="start" value="3927"/> + <details key="end" value="3966"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.135" references="/0/CppClassHeader/%.40/%.1/self"> + <eAnnotations source="positions.161" references="/0/CppClassHeader/%.44/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.136" references="/0/CppClassHeader/%.40/%.1/%"> - <details key="start" value="3590"/> - <details key="end" value="3595"/> + <eAnnotations source="positions.162" references="/0/CppClassHeader/%.44/%.1/%"> + <details key="start" value="3960"/> + <details key="end" value="3965"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.137" references="/0/CppClassHeader/%.40/%.2"> - <details key="start" value="3598"/> - <details key="end" value="3599"/> - <details key="line" value="83"/> + <eAnnotations source="positions.163" references="/0/CppClassHeader/%.44/%.2"> + <details key="start" value="3968"/> + <details key="end" value="3969"/> + <details key="line" value="87"/> </eAnnotations> - <eAnnotations source="positions.138" references="/0/CppClassHeader/%.40/%.3"> - <details key="start" value="3416"/> - <details key="end" value="3428"/> + <eAnnotations source="positions.164" references="/0/CppClassHeader/%.44/%.3"> + <details key="start" value="3786"/> + <details key="end" value="3798"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.139" references="/0/CppClassHeader/%.40/%.3/self"> + <eAnnotations source="positions.165" references="/0/CppClassHeader/%.44/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.140" references="/0/CppClassHeader/%.41"> - <details key="start" value="3605"/> - <details key="end" value="3669"/> - <details key="line" value="84"/> + <eAnnotations source="positions.166" references="/0/CppClassHeader/%.45"> + <details key="start" value="3975"/> + <details key="end" value="4039"/> + <details key="line" value="88"/> </eAnnotations> - <eAnnotations source="positions.141" references="/0/CppClassHeader/%.42"> - <details key="start" value="3670"/> - <details key="end" value="3708"/> + <eAnnotations source="positions.167" references="/0/CppClassHeader/%.46"> + <details key="start" value="4040"/> + <details key="end" value="4078"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.142" references="/0/CppClassHeader/%.42/self"> + <eAnnotations source="positions.168" references="/0/CppClassHeader/%.46/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.143" references="/0/CppClassHeader/%.42/%"> - <details key="start" value="3703"/> - <details key="end" value="3707"/> + <eAnnotations source="positions.169" references="/0/CppClassHeader/%.46/%"> + <details key="start" value="4073"/> + <details key="end" value="4077"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.144" references="/0/CppClassHeader/%.43"> - <details key="start" value="3710"/> - <details key="end" value="3711"/> - <details key="line" value="87"/> + <eAnnotations source="positions.170" references="/0/CppClassHeader/%.47"> + <details key="start" value="4080"/> + <details key="end" value="4081"/> + <details key="line" value="91"/> </eAnnotations> - <eAnnotations source="positions.145" references="/0/CppClassHeader/%.44"> - <details key="start" value="3712"/> - <details key="end" value="3721"/> + <eAnnotations source="positions.171" references="/0/CppClassHeader/%.48"> + <details key="start" value="4082"/> + <details key="end" value="4091"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.146" references="/0/CppClassHeader/%.44/self"> + <eAnnotations source="positions.172" references="/0/CppClassHeader/%.48/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.147" references="/0/CppClassHeader/%.45"> - <details key="start" value="3723"/> - <details key="end" value="3808"/> - <details key="line" value="88"/> + <eAnnotations source="positions.173" references="/0/CppClassHeader/%.49"> + <details key="start" value="4093"/> + <details key="end" value="4178"/> + <details key="line" value="92"/> </eAnnotations> - <eAnnotations source="positions.148" references="/0/CppClassHeader/%.46"> - <details key="start" value="3809"/> - <details key="end" value="3819"/> + <eAnnotations source="positions.174" references="/0/CppClassHeader/%.50"> + <details key="start" value="4179"/> + <details key="end" value="4189"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.149" references="/0/CppClassHeader/%.46/class"> - <details key="start" value="3809"/> - <details key="end" value="3814"/> + <eAnnotations source="positions.175" references="/0/CppClassHeader/%.50/class"> + <details key="start" value="4179"/> + <details key="end" value="4184"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.150" references="/0/CppClassHeader/%.47"> - <details key="start" value="3821"/> - <details key="end" value="3905"/> - <details key="line" value="90"/> + <eAnnotations source="positions.176" references="/0/CppClassHeader/%.51"> + <details key="start" value="4191"/> + <details key="end" value="4275"/> + <details key="line" value="94"/> </eAnnotations> - <eAnnotations source="positions.151" references="/0/CppClassHeader/class"> - <details key="start" value="2083"/> - <details key="end" value="2101"/> - <details key="line" value="42"/> + <eAnnotations source="positions.177" references="/0/CppClassHeader/class"> + <details key="start" value="2204"/> + <details key="end" value="2222"/> + <details key="line" value="47"/> </eAnnotations> </ecore:EAnnotation> </xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl index daaa4609107..227947b9fd0 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl @@ -15,14 +15,19 @@ [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] -[query public classUnionOrStruct(classifier : Classifier) : String = -if (hasStereotype(C_Cpp::Union)) then 'union' -else - if (oclIsKindOf(DataType)) then 'struct' - else 'class' - endif -endif -/] +[template public classUnionOrStruct(classifier : Classifier)] +[if (hasStereotype(C_Cpp::Union))] + 'union' +[else] + [if (oclIsKindOf(DataType))] + [VisibilityKind::public.resetVisibility()/] + struct + [else] + [VisibilityKind::private.resetVisibility()/] + class + [/if] +[/if] +[/template] [comment default initializer for non-static attributes with a default value TODO: should be disabled by default, since non-static members can be initialized directly @@ -59,16 +64,15 @@ in C++ 011/] [CppElementDoc()/] [templateSignature()/][classUnionOrStruct()/] [class.name/][CppClassInheritedDeclarations()/] { [CppClassIncludeFriendDeclaration()/][CppClassTypeAndEnum()/] + [VisibilityKind::public.getSection(defaultInitializer())/] + [VisibilityKind::public.getSection(CppClassAttributesDeclaration(VisibilityKind::public))/] + [VisibilityKind::public.getSection(CppClassOperationsDeclaration(VisibilityKind::public))/] - public: -[defaultInitializer()/][CppClassAttributesDeclaration(VisibilityKind::public)/][CppClassOperationsDeclaration(VisibilityKind::public)/] - - protected: -[CppClassAttributesDeclaration(VisibilityKind::protected)/][CppClassOperationsDeclaration(VisibilityKind::protected)/] - - private: -[CppClassAttributesDeclaration(VisibilityKind::private)/][CppClassOperationsDeclaration(VisibilityKind::private)/] + [VisibilityKind::protected.getSection(CppClassAttributesDeclaration(VisibilityKind::protected))/] + [VisibilityKind::protected.getSection(CppClassOperationsDeclaration(VisibilityKind::protected))/] + [VisibilityKind::private.getSection(CppClassAttributesDeclaration(VisibilityKind::private))/] + [VisibilityKind::private.getSection(CppClassOperationsDeclaration(VisibilityKind::private))/] }; /************************************************************/ /* External declarations (package visibility) */ diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl index 77a5b6f05d5..c34dc5733b0 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl @@ -7,7 +7,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Template" name="CppIncludeHeader" visibility="Public"> <body xsi:type="mtl:IfBlock"> @@ -23,7 +23,7 @@ <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="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> <argument xsi:type="ocl.ecore:VariableExp" name="header" referredVariable="/0/CppIncludeHeader/%/%/header"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> @@ -74,7 +74,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -93,7 +93,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -120,7 +120,7 @@ <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="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> <argument xsi:type="ocl.ecore:VariableExp" name="_body" referredVariable="/0/CppIncludeBody/%/%/_body"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> @@ -171,7 +171,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> <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#//NamedElement"/> </argument> @@ -190,7 +190,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <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#//NamedElement"/> </argument> @@ -217,7 +217,7 @@ <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="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> <argument xsi:type="ocl.ecore:VariableExp" name="preBody" referredVariable="/0/CppIncludePreBody/%/%/preBody"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> @@ -268,7 +268,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> <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#//NamedElement"/> </argument> @@ -287,7 +287,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <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#//NamedElement"/> </argument> @@ -356,7 +356,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -371,7 +371,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -386,7 +386,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="str"> @@ -521,6 +521,16 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl index 7f97541e6bb..4f51ef715f1 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl @@ -4,7 +4,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../preferences/CppCodeGenUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> @@ -17,7 +17,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#ifndef PKG_"/> <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/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <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#//Package"/> </argument> @@ -25,7 +25,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#define PKG_"/> <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/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <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#//Package"/> </argument> @@ -55,7 +55,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </argument> @@ -78,7 +78,7 @@ </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">
"/> <iterSet xsi:type="mtl:QueryInvocation" eType="/10/Sequence(Package)"> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> <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#//Package"/> </argument> @@ -173,7 +173,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -185,9 +185,9 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Package)"/> + <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Package)"/> <eParameters name="arg0"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </eParameters> @@ -197,7 +197,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -341,11 +341,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> 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 a044350fe1d..c540dba383d 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 @@ -7,7 +7,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../../utils/CppGenUtils.emtl#/0"/> <imports href="../../utils/Modifier.emtl#/0"/> <imports href="../Constants.emtl#/0"/> @@ -142,7 +142,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -324,7 +324,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -434,7 +434,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -589,11 +589,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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"/> 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 c222c6ba500..e660d6cb726 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 @@ -4,14 +4,14 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/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"> + <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="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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -22,6 +22,7 @@ <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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/replaceAll"/> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 */"/> <parameter name="argument"> @@ -30,11 +31,11 @@ </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"> + <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="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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -45,6 +46,7 @@ <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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/replaceAll"/> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "/> <body xsi:type="mtl:ForBlock"> @@ -66,22 +68,61 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </parameter> </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorDoc" visibility="Public"> + <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="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> + <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#//Behavior"/> + </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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/replaceAll"/> + </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="/25"> + <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="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior/ownedParameter"/> + </iterSet> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 */"/> + <parameter name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> <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"> + <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="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"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> + <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#//Parameter"/> </argument> </source> @@ -91,6 +132,7 @@ <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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/replaceAll"/> </body> <parameter name="parameter"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> @@ -102,16 +144,6 @@ <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"> @@ -147,6 +179,16 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppBehaviorDoc"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + </eOperations> <eOperations name="CppParamDoc"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -162,7 +204,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -200,6 +242,11 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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"/> @@ -230,6 +277,11 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> @@ -285,6 +337,36 @@ <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#//Behavior"/> + </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#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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#//Behavior"/> + </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"> @@ -423,60 +505,135 @@ <details key="end" value="295"/> <details key="line" value="12"/> </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppParamDoc"> + <eAnnotations source="positions.24" references="/0/CppBehaviorDoc"> <details key="start" value="414"/> - <details key="end" value="539"/> + <details key="end" value="581"/> <details key="line" value="20"/> </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppParamDoc/%"> - <details key="start" value="467"/> - <details key="end" value="474"/> + <eAnnotations source="positions.25" references="/0/CppBehaviorDoc/%"> + <details key="start" value="468"/> + <details key="end" value="475"/> <details key="line" value="21"/> </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppParamDoc/%.1"> - <details key="start" value="475"/> - <details key="end" value="479"/> + <eAnnotations source="positions.26" references="/0/CppBehaviorDoc/%.1"> + <details key="start" value="476"/> + <details key="end" value="515"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppParamDoc/%.1/self"> + <eAnnotations source="positions.27" references="/0/CppBehaviorDoc/%.1/%"> + <details key="start" value="476"/> + <details key="end" value="489"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppBehaviorDoc/%.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 source="positions.29" references="/0/CppBehaviorDoc/%.1/%.1"> + <details key="start" value="501"/> + <details key="end" value="505"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppParamDoc/%.3"> - <details key="start" value="483"/> - <details key="end" value="525"/> + <eAnnotations source="positions.30" references="/0/CppBehaviorDoc/%.1/%.2"> + <details key="start" value="507"/> + <details key="end" value="514"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppParamDoc/%.3/%"> - <details key="start" value="483"/> - <details key="end" value="496"/> + <eAnnotations source="positions.31" references="/0/CppBehaviorDoc/%.2"> + <details key="start" value="517"/> + <details key="end" value="521"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppBehaviorDoc/%.3"> + <details key="start" value="521"/> + <details key="end" value="565"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppBehaviorDoc/%.3/%"> + <details key="start" value="544"/> + <details key="end" value="557"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppParamDoc/%.3/%/self"> + <eAnnotations source="positions.34" references="/0/CppBehaviorDoc/%.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"/> + <eAnnotations source="positions.35" references="/0/CppBehaviorDoc/%.3/%.1"> + <details key="start" value="527"/> + <details key="end" value="541"/> <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"/> + <eAnnotations source="positions.36" references="/0/CppBehaviorDoc/%.3/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppParamDoc/parameter"> - <details key="start" value="443"/> - <details key="end" value="464"/> + <eAnnotations source="positions.37" references="/0/CppBehaviorDoc/%.4"> + <details key="start" value="565"/> + <details key="end" value="569"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppBehaviorDoc/behavior"> + <details key="start" value="446"/> + <details key="end" value="465"/> <details key="line" value="20"/> </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppParamDoc"> + <details key="start" value="584"/> + <details key="end" value="709"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppParamDoc/%"> + <details key="start" value="637"/> + <details key="end" value="644"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppParamDoc/%.1"> + <details key="start" value="645"/> + <details key="end" value="649"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppParamDoc/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppParamDoc/%.2"> + <details key="start" value="651"/> + <details key="end" value="652"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppParamDoc/%.3"> + <details key="start" value="653"/> + <details key="end" value="695"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppParamDoc/%.3/%"> + <details key="start" value="653"/> + <details key="end" value="666"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppParamDoc/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppParamDoc/%.3/%.1"> + <details key="start" value="678"/> + <details key="end" value="682"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppParamDoc/%.3/%.2"> + <details key="start" value="684"/> + <details key="end" value="694"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppParamDoc/parameter"> + <details key="start" value="613"/> + <details key="end" value="634"/> + <details key="line" value="28"/> + </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 579035053b6..ecc23674b2c 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 @@ -17,6 +17,14 @@ [/template] +[template public CppBehaviorDoc(behavior : Behavior)] +/** + * [getComments().replaceAll('\n', '\n * ')/] + * [for (ownedParameter)][CppParamDoc()/][/for] + */ +[/template] + + [template public CppParamDoc(parameter : Parameter)] @param [name/] [getComments().replaceAll('\n', '\n * ')/] [/template] 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 cd53c6f6f98..d4345db8a65 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 @@ -7,7 +7,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -51,7 +51,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -68,7 +68,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -126,7 +126,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -141,7 +141,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -224,6 +224,16 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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"/> 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 86dfe4059f4..def468db99a 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 @@ -7,7 +7,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../../utils/CppGenUtils.emtl#/0"/> <imports href="CppDocumentation.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Comment"> @@ -24,7 +24,7 @@ <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"> + <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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> @@ -32,7 +32,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -57,6 +57,7 @@ </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/replaceAll"/> </body> <body xsi:type="mtl:IfBlock"> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> @@ -77,7 +78,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -102,7 +103,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -131,16 +132,6 @@ <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"/> @@ -178,7 +169,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -193,7 +184,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -288,6 +279,21 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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"/> 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 65fb68d29d7..ebc4cb70fb0 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 @@ -4,7 +4,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -74,7 +74,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -100,7 +100,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -127,13 +127,13 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -284,7 +284,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -296,9 +296,9 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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)"/> + <eType xsi:type="ocl.ecore:CollectionType" href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -376,11 +376,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> 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 961c67738df..66d52bdae88 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 @@ -7,13 +7,13 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/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"/> + <definition href="platform:/plugin/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> @@ -38,7 +38,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -50,7 +50,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -64,7 +64,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -120,9 +120,9 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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)"/> + <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -132,7 +132,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -147,7 +147,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <references href="platform:/plugin/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"> @@ -210,11 +210,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> 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 7204f23320b..182fe336b92 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 @@ -7,9 +7,9 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/CppGenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/ClassUtils.emtl#/0"/> <imports href="CppClassIncludeDeclaration.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Comment"> <body startPosition="412" endPosition="421" value=" USED??? "/> @@ -17,7 +17,7 @@ <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"/> + <definition href="platform:/plugin/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> @@ -27,7 +27,7 @@ <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.1"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <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> @@ -47,7 +47,7 @@ <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"/> + <definition href="platform:/plugin/utils/CppGenUtils.emtl#/0/closeNS"/> <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#//Class"/> </argument> @@ -61,7 +61,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -91,7 +91,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -115,7 +115,7 @@ <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"/> + <definition href="platform:/plugin/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> @@ -132,7 +132,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -233,7 +233,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -247,7 +247,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -345,9 +345,9 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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)"/> + <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -357,7 +357,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -369,7 +369,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -384,7 +384,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/CppGenUtils.emtl#/0/openNS"/> + <references href="platform:/plugin/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"> @@ -396,7 +396,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/CppGenUtils.emtl#/0/closeNS"/> + <references href="platform:/plugin/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"> @@ -408,9 +408,9 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/> + <references href="platform:/plugin/utils/ClassUtils.emtl#/0/includedClassifiers"/> </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/ClassUtils.emtl#/3/Sequence(Classifier)"/> + <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/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> @@ -483,11 +483,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> 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 da1933dbf18..24d14dd0bdb 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 @@ -7,8 +7,8 @@ <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"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/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"/> @@ -17,7 +17,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -31,7 +31,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -50,7 +50,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -64,7 +64,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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> @@ -79,17 +79,17 @@ </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/+"> + <elseExpression 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:OperationCallExp" referredOperation="/1/String_Class/+"> + <source 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:OperationCallExp" referredOperation="/1/String_Class/+"> + <source 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:OperationCallExp" referredOperation="/1/String_Class/+"> + <source 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="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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -101,6 +101,7 @@ <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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/+"/> </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"/> @@ -109,18 +110,21 @@ </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/+"/> </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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/+"/> </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"/> + <definition href="platform:/plugin/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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/+"/> </elseExpression> </elseExpression> </expression> @@ -145,7 +149,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternLibrary"/> <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/getApplicationTree"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplicationTree"/> <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#//NamedElement"/> </argument> @@ -163,7 +167,7 @@ </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/hasStereotypeTree"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotypeTree"/> <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#//NamedElement"/> </argument> @@ -192,13 +196,6 @@ <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"> @@ -239,7 +236,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -251,7 +248,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -266,7 +263,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotypeTree"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotypeTree"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <eParameters name="arg0"> @@ -281,7 +278,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -296,7 +293,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplicationTree"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplicationTree"/> </eAnnotations> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> <eParameters name="arg0"> @@ -311,7 +308,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <references href="platform:/plugin/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> @@ -371,6 +368,16 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl index 50b3840736a..08f2e3c32d2 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl @@ -7,8 +7,8 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/CppGenUtils.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Comment"> <body startPosition="249" endPosition="516" value="
Return a list of relationships that are either Generalizations or InterfaceRealiazations
and the target does not point to a classifier that has the no-code-gen Stereotype
TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.
"/> </ownedModuleElement> @@ -53,7 +53,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)"> @@ -88,7 +88,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> </argument> @@ -102,7 +102,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> <source xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> </argument> @@ -155,7 +155,7 @@ <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"/> + <definition href="platform:/plugin/utils/CppGenUtils.emtl#/0/cppQualifiedName"/> <argument xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> <source xsi:type="ocl.ecore:OperationCallExp"> @@ -245,7 +245,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -260,7 +260,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -275,7 +275,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <references href="platform:/plugin/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"> @@ -343,11 +343,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl index d5881c6a4cc..050bd67f409 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl @@ -42,6 +42,63 @@ </iterator> </iterSet> </body> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	// opaque behavior without specification (typically from state machine)
	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../operation/CppOperations.emtl#/0/CppBehaviorDeclaration"/> + <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#//Behavior"/> + </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#//BehavioralFeature"/> + <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/CppClassOperationsDeclaration/%.1/b"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior/specification"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </ifExpr> + </body> + <loopVariable name="b"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Sequence(OpaqueBehavior)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Sequence(OpaqueBehavior)" referredOperation="/1/EObject_Class/eAllContents"> + <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#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/12/OpaqueBehavior"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </argument> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsDeclaration/%.1/select/temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassOperationsDeclaration/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </iterator> + </iterSet> + </body> <parameter name="class"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </parameter> @@ -70,6 +127,13 @@ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </eAnnotations> + <eOperations name="eAllContents"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/> + <eParameters name="filter"> + <eType xsi:type="ocl.ecore:TypeType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclType"/> + </eParameters> + </eOperations> <eOperations name="CppClassOperationsDeclaration"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -95,6 +159,18 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../operation/CppOperations.emtl#/0/CppBehaviorDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + </eOperations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -126,11 +202,21 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> @@ -148,6 +234,12 @@ <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set"> <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> + <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OpaqueBehavior)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> @@ -164,13 +256,36 @@ <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> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="OpaqueBehavior"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </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#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </ocl.ecore:Variable> <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/CppClassOperationsDeclaration"> <details key="start" value="170"/> - <details key="end" value="386"/> + <details key="end" value="625"/> <details key="line" value="5"/> </eAnnotations> <eAnnotations source="positions.1" references="/0/CppClassOperationsDeclaration/%"> @@ -238,12 +353,112 @@ <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.14" references="/0/CppClassOperationsDeclaration/class"> + <eAnnotations source="positions.14" references="/0/CppClassOperationsDeclaration/%.1"> + <details key="start" value="375"/> + <details key="end" value="613"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassOperationsDeclaration/%.1/%"> + <details key="start" value="467"/> + <details key="end" value="606"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassOperationsDeclaration/%.1/%/%"> + <details key="start" value="497"/> + <details key="end" value="572"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppClassOperationsDeclaration/%.1/%/%.1"> + <details key="start" value="573"/> + <details key="end" value="597"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppClassOperationsDeclaration/%.1/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppClassOperationsDeclaration/%.1/%/%.2"> + <details key="start" value="599"/> + <details key="end" value="600"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppClassOperationsDeclaration/%.1/%/%.3"> + <details key="start" value="471"/> + <details key="end" value="495"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppClassOperationsDeclaration/%.1/%/%.3/%"> + <details key="start" value="472"/> + <details key="end" value="487"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppClassOperationsDeclaration/%.1/%/%.3/%/b"> + <details key="start" value="472"/> + <details key="end" value="473"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppClassOperationsDeclaration/%.1/%/%.3/%.1"> + <details key="start" value="490"/> + <details key="end" value="494"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppClassOperationsDeclaration/%.1/b"> + <details key="start" value="381"/> + <details key="end" value="393"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppClassOperationsDeclaration/%.1/select"> + <details key="start" value="396"/> + <details key="end" value="463"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppClassOperationsDeclaration/%.1/select/%"> + <details key="start" value="396"/> + <details key="end" value="424"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppClassOperationsDeclaration/%.1/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppClassOperationsDeclaration/%.1/select/%/%"> + <details key="start" value="409"/> + <details key="end" value="423"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppClassOperationsDeclaration/%.1/select/%.1"> + <details key="start" value="433"/> + <details key="end" value="462"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppClassOperationsDeclaration/%.1/select/%.1/%"> + <details key="start" value="433"/> + <details key="end" value="443"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppClassOperationsDeclaration/%.1/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppClassOperationsDeclaration/%.1/select/%.1/visibilityFilter"> + <details key="start" value="446"/> + <details key="end" value="462"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppClassOperationsDeclaration/%.1/select/temp2"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppClassOperationsDeclaration/class"> <details key="start" value="217"/> <details key="end" value="235"/> <details key="line" value="5"/> </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppClassOperationsDeclaration/visibilityFilter"> + <eAnnotations source="positions.35" references="/0/CppClassOperationsDeclaration/visibilityFilter"> <details key="start" value="237"/> <details key="end" value="270"/> <details key="line" value="5"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl index bc129027d9f..a73127c132a 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl @@ -7,4 +7,11 @@ [CppOperationDeclaration()/] [/for] +[for (b : Behavior | eAllContents(OpaqueBehavior)->select(visibility = visibilityFilter))] + [if (b.specification = null)] + + // opaque behavior without specification (typically from state machine) + [CppBehaviorDeclaration()/] + [/if] +[/for] [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl index 4c3df926d85..ce3c9c9a852 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl @@ -7,7 +7,7 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../operation/CppOperations.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Comment"> <body startPosition="274" endPosition="393" value=" implementations of a classifier, parameter controls whether only inline (or only not inline) operations
 are produced"/> @@ -38,7 +38,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> @@ -61,7 +61,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> @@ -81,6 +81,66 @@ </iterator> </iterSet> </body> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
// opaque behavior without specification (typically from state machine)
"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../operation/CppOperations.emtl#/0/CppBehaviorImplementation"/> + <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#//OpaqueBehavior"/> + </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#//BehavioralFeature"/> + <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/CppClassOperationsImplementation/%.1/b"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior/specification"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </ifExpr> + </body> + <loopVariable name="b"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Sequence(OpaqueBehavior)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Sequence(OpaqueBehavior)" referredOperation="/1/EObject_Class/eAllContents"> + <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#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/OpaqueBehavior"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </argument> + </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="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%.1/select/temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Inline"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="inline" referredVariable="/0/CppClassOperationsImplementation/inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </iterator> + </iterSet> + </body> <parameter name="class"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </parameter> @@ -109,6 +169,13 @@ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </eAnnotations> + <eOperations name="eAllContents"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/> + <eParameters name="filter"> + <eType xsi:type="ocl.ecore:TypeType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclType"/> + </eParameters> + </eOperations> <eOperations name="CppClassOperationsImplementation"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -127,7 +194,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -149,6 +216,18 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../operation/CppOperations.emtl#/0/CppBehaviorImplementation"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eParameters> + </eOperations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -205,6 +284,16 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> @@ -222,6 +311,12 @@ <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set"> <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> + <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OpaqueBehavior)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eClassifiers> </ecore:EPackage> <ecore:EPackage name="types"> <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> @@ -230,6 +325,9 @@ <eClassifiers xsi:type="ocl.ecore:TypeType" name="Inline"> <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="OpaqueBehavior"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> @@ -247,6 +345,24 @@ <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/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#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="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"> @@ -257,7 +373,7 @@ </eAnnotations> <eAnnotations source="positions.1" references="/0/CppClassOperationsImplementation"> <details key="start" value="396"/> - <details key="end" value="665"/> + <details key="end" value="924"/> <details key="line" value="8"/> </eAnnotations> <eAnnotations source="positions.2" references="/0/CppClassOperationsImplementation/%"> @@ -370,12 +486,117 @@ <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppClassOperationsImplementation/class"> + <eAnnotations source="positions.24" references="/0/CppClassOperationsImplementation/%.1"> + <details key="start" value="654"/> + <details key="end" value="912"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppClassOperationsImplementation/%.1/%"> + <details key="start" value="765"/> + <details key="end" value="905"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppClassOperationsImplementation/%.1/%/%"> + <details key="start" value="795"/> + <details key="end" value="868"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppClassOperationsImplementation/%.1/%/%.1"> + <details key="start" value="869"/> + <details key="end" value="896"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppClassOperationsImplementation/%.1/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppClassOperationsImplementation/%.1/%/%.2"> + <details key="start" value="898"/> + <details key="end" value="899"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppClassOperationsImplementation/%.1/%/%.3"> + <details key="start" value="769"/> + <details key="end" value="793"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppClassOperationsImplementation/%.1/%/%.3/%"> + <details key="start" value="770"/> + <details key="end" value="785"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppClassOperationsImplementation/%.1/%/%.3/%/b"> + <details key="start" value="770"/> + <details key="end" value="771"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppClassOperationsImplementation/%.1/%/%.3/%.1"> + <details key="start" value="788"/> + <details key="end" value="792"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppClassOperationsImplementation/%.1/b"> + <details key="start" value="660"/> + <details key="end" value="678"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppClassOperationsImplementation/%.1/select"> + <details key="start" value="681"/> + <details key="end" value="761"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassOperationsImplementation/%.1/select/%"> + <details key="start" value="681"/> + <details key="end" value="709"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassOperationsImplementation/%.1/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassOperationsImplementation/%.1/select/%/%"> + <details key="start" value="694"/> + <details key="end" value="708"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassOperationsImplementation/%.1/select/%.1"> + <details key="start" value="721"/> + <details key="end" value="760"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassOperationsImplementation/%.1/select/%.1/%"> + <details key="start" value="722"/> + <details key="end" value="750"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassOperationsImplementation/%.1/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppClassOperationsImplementation/%.1/select/%.1/%/%"> + <details key="start" value="736"/> + <details key="end" value="749"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppClassOperationsImplementation/%.1/select/%.1/inline"> + <details key="start" value="753"/> + <details key="end" value="759"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppClassOperationsImplementation/%.1/select/temp2"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppClassOperationsImplementation/class"> <details key="start" value="446"/> <details key="end" value="464"/> <details key="line" value="8"/> </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppClassOperationsImplementation/inline"> + <eAnnotations source="positions.46" references="/0/CppClassOperationsImplementation/inline"> <details key="start" value="466"/> <details key="end" value="482"/> <details key="line" value="8"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl index 1f67d8afc62..fc54cddb7de 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl @@ -12,4 +12,12 @@ [CppOperationImplementation()/] [/for] +[for (b : OpaqueBehavior | eAllContents(OpaqueBehavior)->select( + (hasStereotype(C_Cpp::Inline) = inline)))] + [if (b.specification = null)] + +// opaque behavior without specification (typically from state machine) +[CppBehaviorImplementation()/] + [/if] +[/for] [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl index bf52a8a2d72..3f959ab9cf8 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl @@ -7,7 +7,8 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/CppGenUtils.emtl#/0"/> <imports href="../CppPrimitiveTypes.emtl#/0"/> <imports href="../CppEnumerations.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Template" name="TypeAndEnumForVisibility" visibility="Public"> @@ -74,7 +75,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> </argument> @@ -153,38 +154,62 @@ </parameter> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnum" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" public:
	"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <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"/> - <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> + <definition href="platform:/plugin/utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> </argument> + <argument xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 protected:
	"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <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"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="platform:/plugin/utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> </argument> + <argument xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 private:
	"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <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"/> - <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> + <definition href="platform:/plugin/utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> </argument> + <argument xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </argument> </body> <parameter name="class"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> @@ -288,7 +313,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -298,6 +323,21 @@ <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> </eParameters> </eOperations> + <eOperations name="getSection"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/utils/CppGenUtils.emtl#/0/getSection"/> + </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:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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="CppPrimitiveTypeDefinition"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -383,11 +423,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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"/> @@ -511,28 +566,28 @@ </ocl.ecore:Variable> <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/TypeAndEnumForVisibility"> - <details key="start" value="323"/> - <details key="end" value="745"/> - <details key="line" value="6"/> + <details key="start" value="389"/> + <details key="end" value="811"/> + <details key="line" value="7"/> </eAnnotations> <eAnnotations source="positions.1" references="/0/TypeAndEnumForVisibility/%"> - <details key="start" value="420"/> - <details key="end" value="733"/> - <details key="line" value="7"/> + <details key="start" value="486"/> + <details key="end" value="799"/> + <details key="line" value="8"/> </eAnnotations> <eAnnotations source="positions.2" references="/0/TypeAndEnumForVisibility/%/%"> - <details key="start" value="540"/> - <details key="end" value="630"/> - <details key="line" value="8"/> + <details key="start" value="606"/> + <details key="end" value="696"/> + <details key="line" value="9"/> </eAnnotations> <eAnnotations source="positions.3" references="/0/TypeAndEnumForVisibility/%/%/%"> - <details key="start" value="574"/> - <details key="end" value="623"/> + <details key="start" value="640"/> + <details key="end" value="689"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.4" references="/0/TypeAndEnumForVisibility/%/%/%/%"> - <details key="start" value="574"/> - <details key="end" value="596"/> + <details key="start" value="640"/> + <details key="end" value="662"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.5" references="/0/TypeAndEnumForVisibility/%/%/%/%/self"> @@ -541,13 +596,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.6" references="/0/TypeAndEnumForVisibility/%/%/%/%/%"> - <details key="start" value="584"/> - <details key="end" value="595"/> + <details key="start" value="650"/> + <details key="end" value="661"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.7" references="/0/TypeAndEnumForVisibility/%/%/%.1"> - <details key="start" value="546"/> - <details key="end" value="572"/> + <details key="start" value="612"/> + <details key="end" value="638"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.8" references="/0/TypeAndEnumForVisibility/%/%/%.1/self"> @@ -556,28 +611,28 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.9" references="/0/TypeAndEnumForVisibility/%/%/%.1/%"> - <details key="start" value="559"/> - <details key="end" value="570"/> + <details key="start" value="625"/> + <details key="end" value="636"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.10" references="/0/TypeAndEnumForVisibility/%/%.1"> - <details key="start" value="630"/> - <details key="end" value="631"/> - <details key="line" value="9"/> + <details key="start" value="696"/> + <details key="end" value="697"/> + <details key="line" value="10"/> </eAnnotations> <eAnnotations source="positions.11" references="/0/TypeAndEnumForVisibility/%/%.2"> - <details key="start" value="631"/> - <details key="end" value="727"/> - <details key="line" value="9"/> + <details key="start" value="697"/> + <details key="end" value="793"/> + <details key="line" value="10"/> </eAnnotations> <eAnnotations source="positions.12" references="/0/TypeAndEnumForVisibility/%/%.2/%"> - <details key="start" value="667"/> - <details key="end" value="720"/> + <details key="start" value="733"/> + <details key="end" value="786"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.13" references="/0/TypeAndEnumForVisibility/%/%.2/%/%"> - <details key="start" value="667"/> - <details key="end" value="691"/> + <details key="start" value="733"/> + <details key="end" value="757"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.14" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/self"> @@ -586,13 +641,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.15" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/%"> - <details key="start" value="677"/> - <details key="end" value="690"/> + <details key="start" value="743"/> + <details key="end" value="756"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.16" references="/0/TypeAndEnumForVisibility/%/%.2/%.1"> - <details key="start" value="637"/> - <details key="end" value="665"/> + <details key="start" value="703"/> + <details key="end" value="731"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.17" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/self"> @@ -601,33 +656,33 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.18" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/%"> - <details key="start" value="650"/> - <details key="end" value="663"/> + <details key="start" value="716"/> + <details key="end" value="729"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.19" references="/0/TypeAndEnumForVisibility/%/%.3"> - <details key="start" value="727"/> - <details key="end" value="728"/> - <details key="line" value="10"/> + <details key="start" value="793"/> + <details key="end" value="794"/> + <details key="line" value="11"/> </eAnnotations> <eAnnotations source="positions.20" references="/0/TypeAndEnumForVisibility/%/%.4"> - <details key="start" value="424"/> - <details key="end" value="538"/> + <details key="start" value="490"/> + <details key="end" value="604"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.21" references="/0/TypeAndEnumForVisibility/%/%.4/%"> - <details key="start" value="425"/> - <details key="end" value="481"/> + <details key="start" value="491"/> + <details key="end" value="547"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.22" references="/0/TypeAndEnumForVisibility/%/%.4/%/%"> - <details key="start" value="425"/> - <details key="end" value="453"/> + <details key="start" value="491"/> + <details key="end" value="519"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.23" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%"> - <details key="start" value="429"/> - <details key="end" value="453"/> + <details key="start" value="495"/> + <details key="end" value="519"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.24" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/self"> @@ -636,13 +691,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.25" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/%"> - <details key="start" value="443"/> - <details key="end" value="452"/> + <details key="start" value="509"/> + <details key="end" value="518"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.26" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1"> - <details key="start" value="458"/> - <details key="end" value="481"/> + <details key="start" value="524"/> + <details key="end" value="547"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.27" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/self"> @@ -651,23 +706,23 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.28" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/%"> - <details key="start" value="470"/> - <details key="end" value="480"/> + <details key="start" value="536"/> + <details key="end" value="546"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.29" references="/0/TypeAndEnumForVisibility/%/%.4/%.1"> - <details key="start" value="486"/> - <details key="end" value="537"/> + <details key="start" value="552"/> + <details key="end" value="603"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.30" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%"> - <details key="start" value="486"/> - <details key="end" value="518"/> + <details key="start" value="552"/> + <details key="end" value="584"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.31" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%"> - <details key="start" value="486"/> - <details key="end" value="507"/> + <details key="start" value="552"/> + <details key="end" value="573"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.32" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/self"> @@ -676,38 +731,38 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.33" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/%"> - <details key="start" value="496"/> - <details key="end" value="506"/> + <details key="start" value="562"/> + <details key="end" value="572"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.34" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/visibilityFilter"> - <details key="start" value="521"/> - <details key="end" value="537"/> + <details key="start" value="587"/> + <details key="end" value="603"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.35" references="/0/TypeAndEnumForVisibility/element"> - <details key="start" value="365"/> - <details key="end" value="382"/> - <details key="line" value="6"/> + <details key="start" value="431"/> + <details key="end" value="448"/> + <details key="line" value="7"/> </eAnnotations> <eAnnotations source="positions.36" references="/0/TypeAndEnumForVisibility/visibilityFilter"> - <details key="start" value="384"/> - <details key="end" value="417"/> - <details key="line" value="6"/> + <details key="start" value="450"/> + <details key="end" value="483"/> + <details key="line" value="7"/> </eAnnotations> <eAnnotations source="positions.37" references="/0/TypesAndEnumsForVisibility"> - <details key="start" value="747"/> - <details key="end" value="926"/> - <details key="line" value="13"/> + <details key="start" value="813"/> + <details key="end" value="992"/> + <details key="line" value="14"/> </eAnnotations> <eAnnotations source="positions.38" references="/0/TypesAndEnumsForVisibility/%"> - <details key="start" value="843"/> - <details key="end" value="914"/> - <details key="line" value="14"/> + <details key="start" value="909"/> + <details key="end" value="980"/> + <details key="line" value="15"/> </eAnnotations> <eAnnotations source="positions.39" references="/0/TypesAndEnumsForVisibility/%/%"> - <details key="start" value="864"/> - <details key="end" value="906"/> + <details key="start" value="930"/> + <details key="end" value="972"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.40" references="/0/TypesAndEnumsForVisibility/%/%/self"> @@ -716,13 +771,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.41" references="/0/TypesAndEnumsForVisibility/%/%/visibilityFilter"> - <details key="start" value="889"/> - <details key="end" value="905"/> + <details key="start" value="955"/> + <details key="end" value="971"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.42" references="/0/TypesAndEnumsForVisibility/%/%.1"> - <details key="start" value="849"/> - <details key="end" value="861"/> + <details key="start" value="915"/> + <details key="end" value="927"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.43" references="/0/TypesAndEnumsForVisibility/%/%.1/self"> @@ -731,129 +786,159 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.44" references="/0/TypesAndEnumsForVisibility/ne"> - <details key="start" value="791"/> - <details key="end" value="805"/> - <details key="line" value="13"/> + <details key="start" value="857"/> + <details key="end" value="871"/> + <details key="line" value="14"/> </eAnnotations> <eAnnotations source="positions.45" references="/0/TypesAndEnumsForVisibility/visibilityFilter"> - <details key="start" value="807"/> - <details key="end" value="840"/> - <details key="line" value="13"/> + <details key="start" value="873"/> + <details key="end" value="906"/> + <details key="line" value="14"/> </eAnnotations> <eAnnotations source="positions.46" references="/0/CppClassTypeAndEnum"> - <details key="start" value="928"/> - <details key="end" value="1200"/> - <details key="line" value="17"/> + <details key="start" value="994"/> + <details key="end" value="1350"/> + <details key="line" value="18"/> </eAnnotations> <eAnnotations source="positions.47" references="/0/CppClassTypeAndEnum/%"> - <details key="start" value="986"/> - <details key="end" value="997"/> - <details key="line" value="18"/> + <details key="start" value="1052"/> + <details key="end" value="1056"/> + <details key="line" value="19"/> </eAnnotations> <eAnnotations source="positions.48" references="/0/CppClassTypeAndEnum/%.1"> - <details key="start" value="998"/> - <details key="end" value="1048"/> + <details key="start" value="1057"/> + <details key="end" value="1142"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassTypeAndEnum/%.1/%"> + <details key="start" value="1057"/> + <details key="end" value="1079"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppClassTypeAndEnum/%.1/self"> + <eAnnotations source="positions.50" references="/0/CppClassTypeAndEnum/%.1/%.1"> + <details key="start" value="1091"/> + <details key="end" value="1141"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassTypeAndEnum/%.1/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppClassTypeAndEnum/%.1/%"> - <details key="start" value="1025"/> - <details key="end" value="1047"/> + <eAnnotations source="positions.52" references="/0/CppClassTypeAndEnum/%.1/%.1/%"> + <details key="start" value="1118"/> + <details key="end" value="1140"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppClassTypeAndEnum/%.2"> - <details key="start" value="1050"/> - <details key="end" value="1065"/> + <eAnnotations source="positions.53" references="/0/CppClassTypeAndEnum/%.2"> + <details key="start" value="1144"/> + <details key="end" value="1149"/> <details key="line" value="20"/> </eAnnotations> - <eAnnotations source="positions.52" references="/0/CppClassTypeAndEnum/%.3"> - <details key="start" value="1066"/> - <details key="end" value="1119"/> + <eAnnotations source="positions.54" references="/0/CppClassTypeAndEnum/%.3"> + <details key="start" value="1150"/> + <details key="end" value="1241"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassTypeAndEnum/%.3/%"> + <details key="start" value="1150"/> + <details key="end" value="1175"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassTypeAndEnum/%.3/%.1"> + <details key="start" value="1187"/> + <details key="end" value="1240"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppClassTypeAndEnum/%.3/self"> + <eAnnotations source="positions.57" references="/0/CppClassTypeAndEnum/%.3/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.54" references="/0/CppClassTypeAndEnum/%.3/%"> - <details key="start" value="1093"/> - <details key="end" value="1118"/> + <eAnnotations source="positions.58" references="/0/CppClassTypeAndEnum/%.3/%.1/%"> + <details key="start" value="1214"/> + <details key="end" value="1239"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.55" references="/0/CppClassTypeAndEnum/%.4"> - <details key="start" value="1121"/> - <details key="end" value="1134"/> - <details key="line" value="22"/> + <eAnnotations source="positions.59" references="/0/CppClassTypeAndEnum/%.4"> + <details key="start" value="1243"/> + <details key="end" value="1248"/> + <details key="line" value="21"/> </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppClassTypeAndEnum/%.5"> - <details key="start" value="1135"/> - <details key="end" value="1186"/> + <eAnnotations source="positions.60" references="/0/CppClassTypeAndEnum/%.5"> + <details key="start" value="1249"/> + <details key="end" value="1336"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppClassTypeAndEnum/%.5/self"> + <eAnnotations source="positions.61" references="/0/CppClassTypeAndEnum/%.5/%"> + <details key="start" value="1249"/> + <details key="end" value="1272"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppClassTypeAndEnum/%.5/%.1"> + <details key="start" value="1284"/> + <details key="end" value="1335"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppClassTypeAndEnum/%.5/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.58" references="/0/CppClassTypeAndEnum/%.5/%"> - <details key="start" value="1162"/> - <details key="end" value="1185"/> + <eAnnotations source="positions.64" references="/0/CppClassTypeAndEnum/%.5/%.1/%"> + <details key="start" value="1311"/> + <details key="end" value="1334"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppClassTypeAndEnum/class"> - <details key="start" value="965"/> - <details key="end" value="983"/> - <details key="line" value="17"/> + <eAnnotations source="positions.65" references="/0/CppClassTypeAndEnum/class"> + <details key="start" value="1031"/> + <details key="end" value="1049"/> + <details key="line" value="18"/> </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppClassTypeAndEnumPackage"> - <details key="start" value="1203"/> - <details key="end" value="1384"/> - <details key="line" value="27"/> + <eAnnotations source="positions.66" references="/0/CppClassTypeAndEnumPackage"> + <details key="start" value="1352"/> + <details key="end" value="1533"/> + <details key="line" value="24"/> </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppClassTypeAndEnumPackage/%"> - <details key="start" value="1264"/> - <details key="end" value="1316"/> + <eAnnotations source="positions.67" references="/0/CppClassTypeAndEnumPackage/%"> + <details key="start" value="1413"/> + <details key="end" value="1465"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppClassTypeAndEnumPackage/%/self"> + <eAnnotations source="positions.68" references="/0/CppClassTypeAndEnumPackage/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppClassTypeAndEnumPackage/%/%"> - <details key="start" value="1291"/> - <details key="end" value="1315"/> + <eAnnotations source="positions.69" references="/0/CppClassTypeAndEnumPackage/%/%"> + <details key="start" value="1440"/> + <details key="end" value="1464"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppClassTypeAndEnumPackage/%.1"> - <details key="start" value="1318"/> - <details key="end" value="1319"/> - <details key="line" value="29"/> + <eAnnotations source="positions.70" references="/0/CppClassTypeAndEnumPackage/%.1"> + <details key="start" value="1467"/> + <details key="end" value="1468"/> + <details key="line" value="26"/> </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppClassTypeAndEnumPackage/%.2"> - <details key="start" value="1320"/> - <details key="end" value="1370"/> + <eAnnotations source="positions.71" references="/0/CppClassTypeAndEnumPackage/%.2"> + <details key="start" value="1469"/> + <details key="end" value="1519"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.66" references="/0/CppClassTypeAndEnumPackage/%.2/self"> + <eAnnotations source="positions.72" references="/0/CppClassTypeAndEnumPackage/%.2/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.67" references="/0/CppClassTypeAndEnumPackage/%.2/%"> - <details key="start" value="1347"/> - <details key="end" value="1369"/> + <eAnnotations source="positions.73" references="/0/CppClassTypeAndEnumPackage/%.2/%"> + <details key="start" value="1496"/> + <details key="end" value="1518"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.68" references="/0/CppClassTypeAndEnumPackage/pkg"> - <details key="start" value="1247"/> - <details key="end" value="1260"/> - <details key="line" value="27"/> + <eAnnotations source="positions.74" references="/0/CppClassTypeAndEnumPackage/pkg"> + <details key="start" value="1396"/> + <details key="end" value="1409"/> + <details key="line" value="24"/> </eAnnotations> </ecore:EAnnotation> </xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl index 9ba92353d94..f46d6e95933 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl @@ -1,5 +1,6 @@ [module CppClassTypeAndEnum('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::acceleo::util::CppPrimitiveTypes/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations/] @@ -15,15 +16,11 @@ [/template] [template public CppClassTypeAndEnum(class : Classifier)] - public: - [TypesAndEnumsForVisibility(VisibilityKind::public)/] - protected: - [TypesAndEnumsForVisibility(VisibilityKind::protected)/] - private: - [TypesAndEnumsForVisibility(VisibilityKind::private)/] + [VisibilityKind::public.getSection(TypesAndEnumsForVisibility(VisibilityKind::public))/] + [VisibilityKind::protected.getSection(TypesAndEnumsForVisibility(VisibilityKind::protected))/] + [VisibilityKind::private.getSection(TypesAndEnumsForVisibility(VisibilityKind::private))/] [/template] - [template public CppClassTypeAndEnumPackage(pkg : Package)] [TypesAndEnumsForVisibility(VisibilityKind::_package)/] [TypesAndEnumsForVisibility(VisibilityKind::public)/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl index 26fe3d961e6..dd738ac3e3d 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl @@ -10,9 +10,9 @@ <input> <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/> </input> - <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../../utils/CppGenUtils.emtl#/0"/> - <imports href="../../../utils/Modifier.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/CppGenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/Modifier.emtl#/0"/> <imports href="../CppDocumentation.emtl#/0"/> <imports href="CppParameter.emtl#/0"/> <imports href="../CppTemplates.emtl#/0"/> @@ -48,7 +48,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> @@ -106,7 +106,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> @@ -116,7 +116,7 @@ </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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> @@ -143,7 +143,7 @@ <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"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> @@ -192,7 +192,7 @@ </source> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modConst"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modConst"/> <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/%/%.2/collect/temp1"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> </argument> @@ -204,7 +204,7 @@ <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"/> + <definition href="platform:/plugin/utils/CppGenUtils.emtl#/0/cppQualifiedName"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> @@ -225,7 +225,7 @@ </source> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modPtr"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modPtr"/> <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect/temp2"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> </argument> @@ -243,7 +243,7 @@ </source> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modRef"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modRef"/> <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect.1/temp3"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> </argument> @@ -256,13 +256,87 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </parameter> </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppReturnSpec" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void "/> + <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="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </ifExpr> + <else> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> + <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#//Behavior"/> + </argument> + </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="platform:/plugin/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="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> + <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#//Behavior"/> + </argument> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + </else> + </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="platform:/plugin/utils/Modifier.emtl#/0/modPtr"/> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/37"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </argument> + </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="platform:/plugin/utils/Modifier.emtl#/0/modRef"/> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> + <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#//Behavior"/> + </argument> + </argument> + </body> + <parameter name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </parameter> + </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="InlineTxt" visibility="Public"> <body xsi:type="mtl:IfBlock"> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="inline "/> <ifExpr xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <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#//Element"/> </argument> <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Inline"> @@ -279,7 +353,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/> <ifExpr xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> @@ -293,39 +367,38 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../CppDocumentation.emtl#/0/CppOperationDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualTxt"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46"> + <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#//Operation"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/staticTxt"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/56"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48"> + <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#//Operation"/> </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> <body xsi:type="mtl:QueryInvocation" definition="/0/destructor"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> @@ -340,7 +413,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppParameter.emtl#/0/CppOperationParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> + <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#//Operation"/> </argument> <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true"> @@ -350,14 +423,14 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modConst"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52"> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/61"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualSuffix"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/62"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> @@ -366,6 +439,58 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </parameter> </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorDeclaration" 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/CppBehaviorDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/67"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/68"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec.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="/69"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </argument> + </body> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="behavior" referredVariable="/0/CppBehaviorDeclaration/behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppParameter.emtl#/0/CppBehaviorParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/71"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </argument> + <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/72"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </parameter> + </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="CppConstInit" visibility="Public"> <body xsi:type="mtl:IfBlock"> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/> @@ -375,8 +500,8 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/> <source xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/59"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/78"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit"> @@ -394,8 +519,8 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <source xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/77"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit"> @@ -404,8 +529,8 @@ </source> <argument xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/77"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create"> @@ -420,21 +545,22 @@ </parameter> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="2074" endPosition="2144" value=" wrapper for native query (otherwise Acceleo does not indent properly)"/> + <body startPosition="2497" endPosition="2567" value=" wrapper for native query (otherwise Acceleo does not indent properly)"/> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="getBodyInTemplate" visibility="Public"> - <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim"> + <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="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/64"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/83"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:VariableExp" name="language" referredVariable="/0/getBodyInTemplate/language"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> </body> <parameter name="operation"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> @@ -449,13 +575,13 @@ <body xsi:type="mtl:ForBlock"> <body xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/73"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/92"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> </body> <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/70"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/89"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </source> <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/> @@ -491,7 +617,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../CppDocumentation.emtl#/0/CppOperationDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/99"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> @@ -499,7 +625,7 @@ <body xsi:type="mtl:IfBlock"> <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/82"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/101"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> @@ -514,7 +640,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppParameter.emtl#/0/CppOperationParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/84"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/103"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> @@ -524,8 +650,8 @@ <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="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/85"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/104"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++"> @@ -551,44 +677,51 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../CppTemplates.emtl#/0/templateSignature.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/86"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/105"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/87"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/106"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/88"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/107"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Classifier)"> <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/class"/> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/featuringClassifier"/> </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + <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="temp1" referredVariable="/0/CppOperationImplementation/%.2/%.8/collect/temp4"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp4"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </iterator> </body> <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../CppTemplates.emtl#/0/templateShortSignature.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/90"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/109"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/> <body xsi:type="mtl:QueryInvocation" definition="/0/destructor"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/91"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/110"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> @@ -603,7 +736,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppParameter.emtl#/0/CppOperationParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/93"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/112"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> @@ -613,27 +746,27 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> <body xsi:type="mtl:TemplateInvocation" definition="/0/throws"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/94"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/113"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modConst"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/95"> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/114"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/CppConstInit"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/96"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/115"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
	"/> <body xsi:type="mtl:TemplateInvocation" definition="/0/getBodyInTemplate"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/97"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/116"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </argument> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++"> @@ -647,16 +780,81 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </parameter> </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorImplementation" 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/CppBehaviorDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/121"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec.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="/122"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </argument> + </body> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioredClassifier"/> + <source xsi:type="ocl.ecore:VariableExp" name="behavior" referredVariable="/0/CppBehaviorImplementation/behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior/context"/> + </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="behavior" referredVariable="/0/CppBehaviorImplementation/behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppParameter.emtl#/0/CppBehaviorParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/125"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </argument> + <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/126"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBodyFromOB"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/127"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
}"/> + <parameter name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </parameter> + </ownedModuleElement> </mtl:Module> <ecore:EPackage name="additions"> <eClassifiers xsi:type="ecore:EClass" name="String_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eAnnotations> - <eOperations name="trim"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -722,6 +920,16 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eParameters> </eOperations> + <eOperations name="CppReturnSpec"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppReturnSpec.1"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + </eOperations> <eOperations name="InlineTxt"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -752,6 +960,16 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppBehaviorDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + </eOperations> <eOperations name="CppConstInit"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -795,12 +1013,22 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppBehaviorImplementation"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -815,7 +1043,7 @@ <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"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/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"> @@ -830,7 +1058,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -840,12 +1068,39 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eParameters> </eOperations> + <eOperations name="getBodyFromOB"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBodyFromOB"/> + </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#//OpaqueBehavior"/> + </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="returnResult"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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"/> + <references href="platform:/plugin/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"> @@ -857,7 +1112,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/Modifier.emtl#/0/modPtr"/> + <references href="platform:/plugin/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"> @@ -869,7 +1124,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/Modifier.emtl#/0/modRef"/> + <references href="platform:/plugin/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"> @@ -881,7 +1136,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/Modifier.emtl#/0/modConst"/> + <references href="platform:/plugin/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"> @@ -900,6 +1155,18 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorDoc"> + <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/CppBehaviorDoc"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + </eOperations> <eOperations name="CppOperationParameters"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -915,6 +1182,21 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorParameters"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppParameter.emtl#/0/CppBehaviorParameters"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + <eParameters name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> <eOperations name="templateSignature"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -965,11 +1247,21 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </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"/> @@ -1000,6 +1292,11 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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"/> @@ -1104,6 +1401,9 @@ <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Type)" instanceClassName="java.util.Set"> <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Classifier)" instanceClassName="java.util.Set"> + <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#//Operation"/> @@ -1121,6 +1421,33 @@ <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#//Behavior"/> + </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#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> @@ -1193,6 +1520,36 @@ <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#//Behavior"/> + </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#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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"> @@ -1324,6 +1681,39 @@ <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#//OpaqueBehavior"/> + </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#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/virtualTxt"> <details key="start" value="581"/> @@ -1720,695 +2110,1045 @@ <details key="end" value="1230"/> <details key="line" value="35"/> </eAnnotations> - <eAnnotations source="positions.79" references="/0/InlineTxt"> + <eAnnotations source="positions.79" references="/0/CppReturnSpec.1"> <details key="start" value="1410"/> - <details key="end" value="1509"/> + <details key="end" value="1642"/> <details key="line" value="40"/> </eAnnotations> - <eAnnotations source="positions.80" references="/0/InlineTxt/%"> - <details key="start" value="1457"/> - <details key="end" value="1497"/> + <eAnnotations source="positions.80" references="/0/CppReturnSpec.1/%"> + <details key="start" value="1463"/> + <details key="end" value="1578"/> <details key="line" value="41"/> </eAnnotations> - <eAnnotations source="positions.81" references="/0/InlineTxt/%/%"> + <eAnnotations source="positions.81" references="/0/CppReturnSpec.1/%/%"> + <details key="start" value="1491"/> + <details key="end" value="1496"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/CppReturnSpec.1/%/%.1"> + <details key="start" value="1467"/> + <details key="end" value="1490"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/CppReturnSpec.1/%/%.1/%"> + <details key="start" value="1468"/> + <details key="end" value="1482"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/CppReturnSpec.1/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/CppReturnSpec.1/%/%.1/%.1"> <details key="start" value="1485"/> - <details key="end" value="1492"/> + <details key="end" value="1489"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/CppReturnSpec.1/%/%.2"> + <details key="start" value="1496"/> + <details key="end" value="1573"/> <details key="line" value="41"/> </eAnnotations> - <eAnnotations source="positions.82" references="/0/InlineTxt/%/%.1"> - <details key="start" value="1461"/> - <details key="end" value="1484"/> + <eAnnotations source="positions.87" references="/0/CppReturnSpec.1/%/%.2/%"> + <details key="start" value="1503"/> + <details key="end" value="1528"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/CppReturnSpec.1/%/%.2/%/%"> + <details key="start" value="1503"/> + <details key="end" value="1517"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.83" references="/0/InlineTxt/%/%.1/self"> + <eAnnotations source="positions.89" references="/0/CppReturnSpec.1/%/%.2/%/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.84" references="/0/InlineTxt/%/%.1/%"> - <details key="start" value="1476"/> - <details key="end" value="1482"/> + <eAnnotations source="positions.90" references="/0/CppReturnSpec.1/%/%.2/%.1"> + <details key="start" value="1530"/> + <details key="end" value="1531"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.91" references="/0/CppReturnSpec.1/%/%.2/%.2"> + <details key="start" value="1532"/> + <details key="end" value="1570"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.85" references="/0/InlineTxt/element"> - <details key="start" value="1437"/> - <details key="end" value="1454"/> - <details key="line" value="40"/> + <eAnnotations source="positions.92" references="/0/CppReturnSpec.1/%/%.2/%.2/%"> + <details key="start" value="1532"/> + <details key="end" value="1551"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.93" references="/0/CppReturnSpec.1/%/%.2/%.2/%/%"> + <details key="start" value="1532"/> + <details key="end" value="1546"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.94" references="/0/CppReturnSpec.1/%/%.2/%.2/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.86" references="/0/staticTxt"> - <details key="start" value="1512"/> + <eAnnotations source="positions.95" references="/0/CppReturnSpec.1/%/%.2/%.3"> + <details key="start" value="1572"/> + <details key="end" value="1573"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.96" references="/0/CppReturnSpec.1/%.1"> + <details key="start" value="1579"/> <details key="end" value="1602"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.97" references="/0/CppReturnSpec.1/%.1/%"> + <details key="start" value="1579"/> + <details key="end" value="1593"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.98" references="/0/CppReturnSpec.1/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.99" references="/0/CppReturnSpec.1/%.2"> + <details key="start" value="1605"/> + <details key="end" value="1628"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.100" references="/0/CppReturnSpec.1/%.2/%"> + <details key="start" value="1605"/> + <details key="end" value="1619"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.101" references="/0/CppReturnSpec.1/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.102" references="/0/CppReturnSpec.1/behavior"> + <details key="start" value="1441"/> + <details key="end" value="1460"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.103" references="/0/InlineTxt"> + <details key="start" value="1645"/> + <details key="end" value="1744"/> <details key="line" value="45"/> </eAnnotations> - <eAnnotations source="positions.87" references="/0/staticTxt/%"> - <details key="start" value="1563"/> - <details key="end" value="1590"/> + <eAnnotations source="positions.104" references="/0/InlineTxt/%"> + <details key="start" value="1692"/> + <details key="end" value="1732"/> <details key="line" value="46"/> </eAnnotations> - <eAnnotations source="positions.88" references="/0/staticTxt/%/%"> - <details key="start" value="1578"/> - <details key="end" value="1585"/> + <eAnnotations source="positions.105" references="/0/InlineTxt/%/%"> + <details key="start" value="1720"/> + <details key="end" value="1727"/> <details key="line" value="46"/> </eAnnotations> - <eAnnotations source="positions.89" references="/0/staticTxt/%/%.1"> - <details key="start" value="1567"/> - <details key="end" value="1577"/> + <eAnnotations source="positions.106" references="/0/InlineTxt/%/%.1"> + <details key="start" value="1696"/> + <details key="end" value="1719"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.90" references="/0/staticTxt/%/%.1/self"> + <eAnnotations source="positions.107" references="/0/InlineTxt/%/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.91" references="/0/staticTxt/operation"> - <details key="start" value="1539"/> - <details key="end" value="1560"/> + <eAnnotations source="positions.108" references="/0/InlineTxt/%/%.1/%"> + <details key="start" value="1711"/> + <details key="end" value="1717"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.109" references="/0/InlineTxt/element"> + <details key="start" value="1672"/> + <details key="end" value="1689"/> <details key="line" value="45"/> </eAnnotations> - <eAnnotations source="positions.92" references="/0/CppOperationDeclaration"> - <details key="start" value="1604"/> - <details key="end" value="1861"/> - <details key="line" value="49"/> + <eAnnotations source="positions.110" references="/0/staticTxt"> + <details key="start" value="1747"/> + <details key="end" value="1837"/> + <details key="line" value="50"/> + </eAnnotations> + <eAnnotations source="positions.111" references="/0/staticTxt/%"> + <details key="start" value="1798"/> + <details key="end" value="1825"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.112" references="/0/staticTxt/%/%"> + <details key="start" value="1813"/> + <details key="end" value="1820"/> + <details key="line" value="51"/> </eAnnotations> - <eAnnotations source="positions.93" references="/0/CppOperationDeclaration/%"> - <details key="start" value="1670"/> - <details key="end" value="1687"/> + <eAnnotations source="positions.113" references="/0/staticTxt/%/%.1"> + <details key="start" value="1802"/> + <details key="end" value="1812"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.94" references="/0/CppOperationDeclaration/%/self"> + <eAnnotations source="positions.114" references="/0/staticTxt/%/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.95" references="/0/CppOperationDeclaration/%.1"> - <details key="start" value="1689"/> - <details key="end" value="1690"/> - <details key="line" value="51"/> + <eAnnotations source="positions.115" references="/0/staticTxt/operation"> + <details key="start" value="1774"/> + <details key="end" value="1795"/> + <details key="line" value="50"/> </eAnnotations> - <eAnnotations source="positions.96" references="/0/CppOperationDeclaration/%.2"> - <details key="start" value="1691"/> - <details key="end" value="1702"/> + <eAnnotations source="positions.116" references="/0/CppOperationDeclaration"> + <details key="start" value="1839"/> + <details key="end" value="2095"/> + <details key="line" value="54"/> + </eAnnotations> + <eAnnotations source="positions.117" references="/0/CppOperationDeclaration/%"> + <details key="start" value="1905"/> + <details key="end" value="1922"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.97" references="/0/CppOperationDeclaration/%.2/self"> + <eAnnotations source="positions.118" references="/0/CppOperationDeclaration/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.98" references="/0/CppOperationDeclaration/%.3"> - <details key="start" value="1705"/> - <details key="end" value="1717"/> + <eAnnotations source="positions.119" references="/0/CppOperationDeclaration/%.1"> + <details key="start" value="1924"/> + <details key="end" value="1925"/> + <details key="line" value="56"/> + </eAnnotations> + <eAnnotations source="positions.120" references="/0/CppOperationDeclaration/%.2"> + <details key="start" value="1926"/> + <details key="end" value="1937"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.99" references="/0/CppOperationDeclaration/%.3/self"> + <eAnnotations source="positions.121" references="/0/CppOperationDeclaration/%.2/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.100" references="/0/CppOperationDeclaration/%.4"> - <details key="start" value="1720"/> - <details key="end" value="1731"/> + <eAnnotations source="positions.122" references="/0/CppOperationDeclaration/%.3"> + <details key="start" value="1940"/> + <details key="end" value="1952"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.101" references="/0/CppOperationDeclaration/%.4/self"> + <eAnnotations source="positions.123" references="/0/CppOperationDeclaration/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.102" references="/0/CppOperationDeclaration/%.5"> - <details key="start" value="1734"/> - <details key="end" value="1749"/> + <eAnnotations source="positions.124" references="/0/CppOperationDeclaration/%.4"> + <details key="start" value="1955"/> + <details key="end" value="1966"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.103" references="/0/CppOperationDeclaration/%.5/self"> + <eAnnotations source="positions.125" references="/0/CppOperationDeclaration/%.4/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.104" references="/0/CppOperationDeclaration/%.6"> - <details key="start" value="1751"/> - <details key="end" value="1752"/> - <details key="line" value="51"/> + <eAnnotations source="positions.126" references="/0/CppOperationDeclaration/%.5"> + <details key="start" value="1969"/> + <details key="end" value="1984"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.105" references="/0/CppOperationDeclaration/%.7"> - <details key="start" value="1753"/> - <details key="end" value="1765"/> + <eAnnotations source="positions.127" references="/0/CppOperationDeclaration/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.128" references="/0/CppOperationDeclaration/%.6"> + <details key="start" value="1987"/> + <details key="end" value="1999"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.106" references="/0/CppOperationDeclaration/%.7/self"> + <eAnnotations source="positions.129" references="/0/CppOperationDeclaration/%.6/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.107" references="/0/CppOperationDeclaration/%.8"> - <details key="start" value="1768"/> - <details key="end" value="1782"/> + <eAnnotations source="positions.130" references="/0/CppOperationDeclaration/%.7"> + <details key="start" value="2002"/> + <details key="end" value="2016"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.108" references="/0/CppOperationDeclaration/%.8/operation"> - <details key="start" value="1768"/> - <details key="end" value="1777"/> + <eAnnotations source="positions.131" references="/0/CppOperationDeclaration/%.7/operation"> + <details key="start" value="2002"/> + <details key="end" value="2011"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.109" references="/0/CppOperationDeclaration/%.9"> - <details key="start" value="1784"/> - <details key="end" value="1785"/> - <details key="line" value="51"/> + <eAnnotations source="positions.132" references="/0/CppOperationDeclaration/%.8"> + <details key="start" value="2018"/> + <details key="end" value="2019"/> + <details key="line" value="56"/> </eAnnotations> - <eAnnotations source="positions.110" references="/0/CppOperationDeclaration/%.10"> - <details key="start" value="1786"/> - <details key="end" value="1814"/> + <eAnnotations source="positions.133" references="/0/CppOperationDeclaration/%.9"> + <details key="start" value="2020"/> + <details key="end" value="2048"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.111" references="/0/CppOperationDeclaration/%.10/self"> + <eAnnotations source="positions.134" references="/0/CppOperationDeclaration/%.9/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.112" references="/0/CppOperationDeclaration/%.10/%"> - <details key="start" value="1809"/> - <details key="end" value="1813"/> + <eAnnotations source="positions.135" references="/0/CppOperationDeclaration/%.9/%"> + <details key="start" value="2043"/> + <details key="end" value="2047"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.113" references="/0/CppOperationDeclaration/%.11"> - <details key="start" value="1816"/> - <details key="end" value="1817"/> - <details key="line" value="51"/> + <eAnnotations source="positions.136" references="/0/CppOperationDeclaration/%.10"> + <details key="start" value="2050"/> + <details key="end" value="2051"/> + <details key="line" value="56"/> </eAnnotations> - <eAnnotations source="positions.114" references="/0/CppOperationDeclaration/%.12"> - <details key="start" value="1818"/> - <details key="end" value="1828"/> + <eAnnotations source="positions.137" references="/0/CppOperationDeclaration/%.11"> + <details key="start" value="2052"/> + <details key="end" value="2062"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.115" references="/0/CppOperationDeclaration/%.12/self"> + <eAnnotations source="positions.138" references="/0/CppOperationDeclaration/%.11/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.116" references="/0/CppOperationDeclaration/%.13"> - <details key="start" value="1831"/> - <details key="end" value="1846"/> + <eAnnotations source="positions.139" references="/0/CppOperationDeclaration/%.12"> + <details key="start" value="2065"/> + <details key="end" value="2080"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.117" references="/0/CppOperationDeclaration/%.13/self"> + <eAnnotations source="positions.140" references="/0/CppOperationDeclaration/%.12/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.118" references="/0/CppOperationDeclaration/%.14"> - <details key="start" value="1848"/> - <details key="end" value="1849"/> - <details key="line" value="51"/> + <eAnnotations source="positions.141" references="/0/CppOperationDeclaration/%.13"> + <details key="start" value="2082"/> + <details key="end" value="2083"/> + <details key="line" value="56"/> </eAnnotations> - <eAnnotations source="positions.119" references="/0/CppOperationDeclaration/operation"> - <details key="start" value="1645"/> - <details key="end" value="1666"/> - <details key="line" value="49"/> + <eAnnotations source="positions.142" references="/0/CppOperationDeclaration/operation"> + <details key="start" value="1880"/> + <details key="end" value="1901"/> + <details key="line" value="54"/> </eAnnotations> - <eAnnotations source="positions.120" references="/0/CppConstInit"> - <details key="start" value="1864"/> - <details key="end" value="2063"/> - <details key="line" value="55"/> + <eAnnotations source="positions.143" references="/0/CppBehaviorDeclaration"> + <details key="start" value="2097"/> + <details key="end" value="2285"/> + <details key="line" value="59"/> </eAnnotations> - <eAnnotations source="positions.121" references="/0/CppConstInit/%"> - <details key="start" value="1918"/> - <details key="end" value="2051"/> - <details key="line" value="56"/> + <eAnnotations source="positions.144" references="/0/CppBehaviorDeclaration/%"> + <details key="start" value="2160"/> + <details key="end" value="2176"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.122" references="/0/CppConstInit/%/%"> - <details key="start" value="1979"/> - <details key="end" value="1982"/> - <details key="line" value="56"/> + <eAnnotations source="positions.145" references="/0/CppBehaviorDeclaration/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.123" references="/0/CppConstInit/%/%.1"> - <details key="start" value="1983"/> - <details key="end" value="2044"/> + <eAnnotations source="positions.146" references="/0/CppBehaviorDeclaration/%.1"> + <details key="start" value="2178"/> + <details key="end" value="2179"/> + <details key="line" value="61"/> + </eAnnotations> + <eAnnotations source="positions.147" references="/0/CppBehaviorDeclaration/%.2"> + <details key="start" value="2180"/> + <details key="end" value="2191"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.124" references="/0/CppConstInit/%/%.1/%"> - <details key="start" value="1983"/> - <details key="end" value="2029"/> + <eAnnotations source="positions.148" references="/0/CppBehaviorDeclaration/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.125" references="/0/CppConstInit/%/%.1/%/%"> - <details key="start" value="1983"/> - <details key="end" value="2008"/> + <eAnnotations source="positions.149" references="/0/CppBehaviorDeclaration/%.3"> + <details key="start" value="2194"/> + <details key="end" value="2209"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.126" references="/0/CppConstInit/%/%.1/%/%/self"> + <eAnnotations source="positions.150" references="/0/CppBehaviorDeclaration/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.127" references="/0/CppConstInit/%/%.1/%/%/%"> - <details key="start" value="1998"/> - <details key="end" value="2007"/> + <eAnnotations source="positions.151" references="/0/CppBehaviorDeclaration/%.4"> + <details key="start" value="2212"/> + <details key="end" value="2225"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.128" references="/0/CppConstInit/%/%.1/%/%.1"> - <details key="start" value="2019"/> - <details key="end" value="2028"/> + <eAnnotations source="positions.152" references="/0/CppBehaviorDeclaration/%.4/behavior"> + <details key="start" value="2212"/> + <details key="end" value="2220"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.129" references="/0/CppConstInit/%/%.2"> - <details key="start" value="1922"/> - <details key="end" value="1978"/> + <eAnnotations source="positions.153" references="/0/CppBehaviorDeclaration/%.5"> + <details key="start" value="2227"/> + <details key="end" value="2228"/> + <details key="line" value="61"/> + </eAnnotations> + <eAnnotations source="positions.154" references="/0/CppBehaviorDeclaration/%.6"> + <details key="start" value="2229"/> + <details key="end" value="2256"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.155" references="/0/CppBehaviorDeclaration/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.130" references="/0/CppConstInit/%/%.2/%"> - <details key="start" value="1923"/> - <details key="end" value="1947"/> + <eAnnotations source="positions.156" references="/0/CppBehaviorDeclaration/%.6/%"> + <details key="start" value="2251"/> + <details key="end" value="2255"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.131" references="/0/CppConstInit/%/%.2/%/self"> + <eAnnotations source="positions.157" references="/0/CppBehaviorDeclaration/%.7"> + <details key="start" value="2258"/> + <details key="end" value="2259"/> + <details key="line" value="61"/> + </eAnnotations> + <eAnnotations source="positions.158" references="/0/CppBehaviorDeclaration/%.8"> + <details key="start" value="2260"/> + <details key="end" value="2270"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.159" references="/0/CppBehaviorDeclaration/%.8/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.132" references="/0/CppConstInit/%/%.2/%/%"> - <details key="start" value="1937"/> - <details key="end" value="1946"/> + <eAnnotations source="positions.160" references="/0/CppBehaviorDeclaration/%.9"> + <details key="start" value="2272"/> + <details key="end" value="2273"/> + <details key="line" value="61"/> + </eAnnotations> + <eAnnotations source="positions.161" references="/0/CppBehaviorDeclaration/behavior"> + <details key="start" value="2137"/> + <details key="end" value="2156"/> + <details key="line" value="59"/> + </eAnnotations> + <eAnnotations source="positions.162" references="/0/CppConstInit"> + <details key="start" value="2287"/> + <details key="end" value="2486"/> + <details key="line" value="64"/> + </eAnnotations> + <eAnnotations source="positions.163" references="/0/CppConstInit/%"> + <details key="start" value="2341"/> + <details key="end" value="2474"/> + <details key="line" value="65"/> + </eAnnotations> + <eAnnotations source="positions.164" references="/0/CppConstInit/%/%"> + <details key="start" value="2402"/> + <details key="end" value="2405"/> + <details key="line" value="65"/> + </eAnnotations> + <eAnnotations source="positions.165" references="/0/CppConstInit/%/%.1"> + <details key="start" value="2406"/> + <details key="end" value="2467"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.166" references="/0/CppConstInit/%/%.1/%"> + <details key="start" value="2406"/> + <details key="end" value="2452"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.133" references="/0/CppConstInit/%/%.2/%.1"> - <details key="start" value="1952"/> - <details key="end" value="1977"/> + <eAnnotations source="positions.167" references="/0/CppConstInit/%/%.1/%/%"> + <details key="start" value="2406"/> + <details key="end" value="2431"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.134" references="/0/CppConstInit/%/%.2/%.1/self"> + <eAnnotations source="positions.168" references="/0/CppConstInit/%/%.1/%/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.135" references="/0/CppConstInit/%/%.2/%.1/%"> - <details key="start" value="1966"/> - <details key="end" value="1976"/> + <eAnnotations source="positions.169" references="/0/CppConstInit/%/%.1/%/%/%"> + <details key="start" value="2421"/> + <details key="end" value="2430"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.136" references="/0/CppConstInit/operation"> - <details key="start" value="1894"/> - <details key="end" value="1915"/> - <details key="line" value="55"/> + <eAnnotations source="positions.170" references="/0/CppConstInit/%/%.1/%/%.1"> + <details key="start" value="2442"/> + <details key="end" value="2451"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.137" references="/0/%"> - <details key="start" value="2066"/> - <details key="end" value="2146"/> + <eAnnotations source="positions.171" references="/0/CppConstInit/%/%.2"> + <details key="start" value="2345"/> + <details key="end" value="2401"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.138" references="/0/getBodyInTemplate"> - <details key="start" value="2147"/> - <details key="end" value="2264"/> - <details key="line" value="61"/> + <eAnnotations source="positions.172" references="/0/CppConstInit/%/%.2/%"> + <details key="start" value="2346"/> + <details key="end" value="2370"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.139" references="/0/getBodyInTemplate/%"> - <details key="start" value="2226"/> - <details key="end" value="2250"/> + <eAnnotations source="positions.173" references="/0/CppConstInit/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.174" references="/0/CppConstInit/%/%.2/%/%"> + <details key="start" value="2360"/> + <details key="end" value="2369"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.140" references="/0/getBodyInTemplate/%/%"> - <details key="start" value="2226"/> - <details key="end" value="2243"/> + <eAnnotations source="positions.175" references="/0/CppConstInit/%/%.2/%.1"> + <details key="start" value="2375"/> + <details key="end" value="2400"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.141" references="/0/getBodyInTemplate/%/%/self"> + <eAnnotations source="positions.176" references="/0/CppConstInit/%/%.2/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.142" references="/0/getBodyInTemplate/%/%/language"> - <details key="start" value="2234"/> - <details key="end" value="2242"/> + <eAnnotations source="positions.177" references="/0/CppConstInit/%/%.2/%.1/%"> + <details key="start" value="2389"/> + <details key="end" value="2399"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.143" references="/0/getBodyInTemplate/operation"> - <details key="start" value="2182"/> - <details key="end" value="2203"/> - <details key="line" value="61"/> + <eAnnotations source="positions.178" references="/0/CppConstInit/operation"> + <details key="start" value="2317"/> + <details key="end" value="2338"/> + <details key="line" value="64"/> </eAnnotations> - <eAnnotations source="positions.144" references="/0/getBodyInTemplate/language"> - <details key="start" value="2205"/> - <details key="end" value="2222"/> - <details key="line" value="61"/> + <eAnnotations source="positions.179" references="/0/%"> + <details key="start" value="2489"/> + <details key="end" value="2569"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.145" references="/0/throws"> - <details key="start" value="2267"/> - <details key="end" value="2435"/> - <details key="line" value="66"/> + <eAnnotations source="positions.180" references="/0/getBodyInTemplate"> + <details key="start" value="2570"/> + <details key="end" value="2687"/> + <details key="line" value="70"/> </eAnnotations> - <eAnnotations source="positions.146" references="/0/throws/%"> - <details key="start" value="2314"/> - <details key="end" value="2423"/> - <details key="line" value="67"/> + <eAnnotations source="positions.181" references="/0/getBodyInTemplate/%"> + <details key="start" value="2649"/> + <details key="end" value="2673"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.147" references="/0/throws/%/%"> - <details key="start" value="2359"/> - <details key="end" value="2366"/> - <details key="line" value="68"/> + <eAnnotations source="positions.182" references="/0/getBodyInTemplate/%/%"> + <details key="start" value="2649"/> + <details key="end" value="2666"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.148" references="/0/throws/%/%.1"> - <details key="start" value="2366"/> - <details key="end" value="2417"/> - <details key="line" value="68"/> + <eAnnotations source="positions.183" references="/0/getBodyInTemplate/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.149" references="/0/throws/%/%.1/%"> - <details key="start" value="2405"/> - <details key="end" value="2409"/> + <eAnnotations source="positions.184" references="/0/getBodyInTemplate/%/%/language"> + <details key="start" value="2657"/> + <details key="end" value="2665"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.150" references="/0/throws/%/%.1/%/self"> + <eAnnotations source="positions.185" references="/0/getBodyInTemplate/operation"> + <details key="start" value="2605"/> + <details key="end" value="2626"/> + <details key="line" value="70"/> + </eAnnotations> + <eAnnotations source="positions.186" references="/0/getBodyInTemplate/language"> + <details key="start" value="2628"/> + <details key="end" value="2645"/> + <details key="line" value="70"/> + </eAnnotations> + <eAnnotations source="positions.187" references="/0/throws"> + <details key="start" value="2690"/> + <details key="end" value="2858"/> + <details key="line" value="75"/> + </eAnnotations> + <eAnnotations source="positions.188" references="/0/throws/%"> + <details key="start" value="2737"/> + <details key="end" value="2846"/> + <details key="line" value="76"/> + </eAnnotations> + <eAnnotations source="positions.189" references="/0/throws/%/%"> + <details key="start" value="2782"/> + <details key="end" value="2789"/> + <details key="line" value="77"/> + </eAnnotations> + <eAnnotations source="positions.190" references="/0/throws/%/%.1"> + <details key="start" value="2789"/> + <details key="end" value="2840"/> + <details key="line" value="77"/> + </eAnnotations> + <eAnnotations source="positions.191" references="/0/throws/%/%.1/%"> + <details key="start" value="2828"/> + <details key="end" value="2832"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.192" references="/0/throws/%/%.1/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.151" references="/0/throws/%/%.1/%.1"> - <details key="start" value="2372"/> - <details key="end" value="2387"/> + <eAnnotations source="positions.193" references="/0/throws/%/%.1/%.1"> + <details key="start" value="2795"/> + <details key="end" value="2810"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.152" references="/0/throws/%/%.1/%.1/self"> + <eAnnotations source="positions.194" references="/0/throws/%/%.1/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.153" references="/0/throws/%/%.1/%.2"> - <details key="start" value="2399"/> - <details key="end" value="2402"/> + <eAnnotations source="positions.195" references="/0/throws/%/%.1/%.2"> + <details key="start" value="2822"/> + <details key="end" value="2825"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.154" references="/0/throws/%/%.2"> - <details key="start" value="2417"/> - <details key="end" value="2418"/> - <details key="line" value="69"/> + <eAnnotations source="positions.196" references="/0/throws/%/%.2"> + <details key="start" value="2840"/> + <details key="end" value="2841"/> + <details key="line" value="78"/> </eAnnotations> - <eAnnotations source="positions.155" references="/0/throws/%/%.3"> - <details key="start" value="2318"/> - <details key="end" value="2357"/> + <eAnnotations source="positions.197" references="/0/throws/%/%.3"> + <details key="start" value="2741"/> + <details key="end" value="2780"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.156" references="/0/throws/%/%.3/%"> - <details key="start" value="2319"/> - <details key="end" value="2352"/> + <eAnnotations source="positions.198" references="/0/throws/%/%.3/%"> + <details key="start" value="2742"/> + <details key="end" value="2775"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.157" references="/0/throws/%/%.3/%/%"> - <details key="start" value="2319"/> - <details key="end" value="2344"/> + <eAnnotations source="positions.199" references="/0/throws/%/%.3/%/%"> + <details key="start" value="2742"/> + <details key="end" value="2767"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.158" references="/0/throws/%/%.3/%/%/operation"> - <details key="start" value="2319"/> - <details key="end" value="2328"/> + <eAnnotations source="positions.200" references="/0/throws/%/%.3/%/%/operation"> + <details key="start" value="2742"/> + <details key="end" value="2751"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.159" references="/0/throws/%/%.3/%.1"> - <details key="start" value="2355"/> - <details key="end" value="2356"/> + <eAnnotations source="positions.201" references="/0/throws/%/%.3/%.1"> + <details key="start" value="2778"/> + <details key="end" value="2779"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.160" references="/0/throws/operation"> - <details key="start" value="2291"/> - <details key="end" value="2311"/> - <details key="line" value="66"/> + <eAnnotations source="positions.202" references="/0/throws/operation"> + <details key="start" value="2714"/> + <details key="end" value="2734"/> + <details key="line" value="75"/> </eAnnotations> - <eAnnotations source="positions.161" references="/0/CppOperationImplementation"> - <details key="start" value="2438"/> - <details key="end" value="2926"/> - <details key="line" value="73"/> + <eAnnotations source="positions.203" references="/0/CppOperationImplementation"> + <details key="start" value="2861"/> + <details key="end" value="3363"/> + <details key="line" value="82"/> </eAnnotations> - <eAnnotations source="positions.162" references="/0/CppOperationImplementation/%"> - <details key="start" value="2507"/> - <details key="end" value="2524"/> + <eAnnotations source="positions.204" references="/0/CppOperationImplementation/%"> + <details key="start" value="2930"/> + <details key="end" value="2947"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.163" references="/0/CppOperationImplementation/%/self"> + <eAnnotations source="positions.205" references="/0/CppOperationImplementation/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.164" references="/0/CppOperationImplementation/%.1"> - <details key="start" value="2526"/> - <details key="end" value="2527"/> - <details key="line" value="75"/> + <eAnnotations source="positions.206" references="/0/CppOperationImplementation/%.1"> + <details key="start" value="2949"/> + <details key="end" value="2950"/> + <details key="line" value="84"/> </eAnnotations> - <eAnnotations source="positions.165" references="/0/CppOperationImplementation/%.2"> - <details key="start" value="2527"/> - <details key="end" value="2914"/> - <details key="line" value="75"/> + <eAnnotations source="positions.207" references="/0/CppOperationImplementation/%.2"> + <details key="start" value="2950"/> + <details key="end" value="3351"/> + <details key="line" value="84"/> </eAnnotations> - <eAnnotations source="positions.166" references="/0/CppOperationImplementation/%.2/%"> - <details key="start" value="2559"/> - <details key="end" value="2574"/> + <eAnnotations source="positions.208" references="/0/CppOperationImplementation/%.2/%"> + <details key="start" value="2982"/> + <details key="end" value="2997"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.167" references="/0/CppOperationImplementation/%.2/%/self"> + <eAnnotations source="positions.209" references="/0/CppOperationImplementation/%.2/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.168" references="/0/CppOperationImplementation/%.2/%.1"> - <details key="start" value="2577"/> - <details key="end" value="2591"/> + <eAnnotations source="positions.210" references="/0/CppOperationImplementation/%.2/%.1"> + <details key="start" value="3000"/> + <details key="end" value="3014"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.169" references="/0/CppOperationImplementation/%.2/%.1/operation"> - <details key="start" value="2577"/> - <details key="end" value="2586"/> + <eAnnotations source="positions.211" references="/0/CppOperationImplementation/%.2/%.1/operation"> + <details key="start" value="3000"/> + <details key="end" value="3009"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.170" references="/0/CppOperationImplementation/%.2/%.2"> - <details key="start" value="2593"/> - <details key="end" value="2594"/> - <details key="line" value="76"/> + <eAnnotations source="positions.212" references="/0/CppOperationImplementation/%.2/%.2"> + <details key="start" value="3016"/> + <details key="end" value="3017"/> + <details key="line" value="85"/> </eAnnotations> - <eAnnotations source="positions.171" references="/0/CppOperationImplementation/%.2/%.3"> - <details key="start" value="2595"/> - <details key="end" value="2624"/> + <eAnnotations source="positions.213" references="/0/CppOperationImplementation/%.2/%.3"> + <details key="start" value="3018"/> + <details key="end" value="3047"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.172" references="/0/CppOperationImplementation/%.2/%.3/self"> + <eAnnotations source="positions.214" references="/0/CppOperationImplementation/%.2/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.173" references="/0/CppOperationImplementation/%.2/%.3/%"> - <details key="start" value="2618"/> - <details key="end" value="2623"/> + <eAnnotations source="positions.215" references="/0/CppOperationImplementation/%.2/%.3/%"> + <details key="start" value="3041"/> + <details key="end" value="3046"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.174" references="/0/CppOperationImplementation/%.2/%.4"> - <details key="start" value="2626"/> - <details key="end" value="2631"/> - <details key="line" value="76"/> + <eAnnotations source="positions.216" references="/0/CppOperationImplementation/%.2/%.4"> + <details key="start" value="3049"/> + <details key="end" value="3054"/> + <details key="line" value="85"/> </eAnnotations> - <eAnnotations source="positions.175" references="/0/CppOperationImplementation/%.2/%.5"> - <details key="start" value="2632"/> - <details key="end" value="2648"/> + <eAnnotations source="positions.217" references="/0/CppOperationImplementation/%.2/%.5"> + <details key="start" value="3055"/> + <details key="end" value="3071"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.176" references="/0/CppOperationImplementation/%.2/%.5/self"> + <eAnnotations source="positions.218" references="/0/CppOperationImplementation/%.2/%.5/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.177" references="/0/CppOperationImplementation/%.2/%.5/%"> - <details key="start" value="2640"/> - <details key="end" value="2647"/> + <eAnnotations source="positions.219" references="/0/CppOperationImplementation/%.2/%.5/%"> + <details key="start" value="3063"/> + <details key="end" value="3070"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.178" references="/0/CppOperationImplementation/%.2/%.6"> - <details key="start" value="2650"/> - <details key="end" value="2653"/> - <details key="line" value="78"/> + <eAnnotations source="positions.220" references="/0/CppOperationImplementation/%.2/%.6"> + <details key="start" value="3073"/> + <details key="end" value="3076"/> + <details key="line" value="87"/> </eAnnotations> - <eAnnotations source="positions.179" references="/0/CppOperationImplementation/%.2/%.7"> - <details key="start" value="2531"/> - <details key="end" value="2556"/> + <eAnnotations source="positions.221" references="/0/CppOperationImplementation/%.2/%.7"> + <details key="start" value="2954"/> + <details key="end" value="2979"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.180" references="/0/CppOperationImplementation/%.2/%.7/%"> - <details key="start" value="2532"/> - <details key="end" value="2546"/> + <eAnnotations source="positions.222" references="/0/CppOperationImplementation/%.2/%.7/%"> + <details key="start" value="2955"/> + <details key="end" value="2969"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.181" references="/0/CppOperationImplementation/%.2/%.7/%/operation"> - <details key="start" value="2532"/> - <details key="end" value="2541"/> + <eAnnotations source="positions.223" references="/0/CppOperationImplementation/%.2/%.7/%/operation"> + <details key="start" value="2955"/> + <details key="end" value="2964"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.182" references="/0/CppOperationImplementation/%.2/%.7/%.1"> - <details key="start" value="2549"/> - <details key="end" value="2555"/> + <eAnnotations source="positions.224" references="/0/CppOperationImplementation/%.2/%.7/%.1"> + <details key="start" value="2972"/> + <details key="end" value="2978"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.183" references="/0/CppOperationImplementation/%.2/%.8"> - <details key="start" value="2653"/> - <details key="end" value="2909"/> - <details key="line" value="79"/> + <eAnnotations source="positions.225" references="/0/CppOperationImplementation/%.2/%.8"> + <details key="start" value="3076"/> + <details key="end" value="3346"/> + <details key="line" value="88"/> </eAnnotations> - <eAnnotations source="positions.184" references="/0/CppOperationImplementation/%.2/%.8/%"> - <details key="start" value="2661"/> - <details key="end" value="2680"/> + <eAnnotations source="positions.226" references="/0/CppOperationImplementation/%.2/%.8/%"> + <details key="start" value="3084"/> + <details key="end" value="3103"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.185" references="/0/CppOperationImplementation/%.2/%.8/%/self"> + <eAnnotations source="positions.227" references="/0/CppOperationImplementation/%.2/%.8/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.186" references="/0/CppOperationImplementation/%.2/%.8/%.1"> - <details key="start" value="2683"/> - <details key="end" value="2694"/> + <eAnnotations source="positions.228" references="/0/CppOperationImplementation/%.2/%.8/%.1"> + <details key="start" value="3106"/> + <details key="end" value="3117"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.187" references="/0/CppOperationImplementation/%.2/%.8/%.1/self"> + <eAnnotations source="positions.229" references="/0/CppOperationImplementation/%.2/%.8/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.188" references="/0/CppOperationImplementation/%.2/%.8/%.2"> - <details key="start" value="2697"/> - <details key="end" value="2712"/> + <eAnnotations source="positions.230" references="/0/CppOperationImplementation/%.2/%.8/%.2"> + <details key="start" value="3120"/> + <details key="end" value="3135"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.189" references="/0/CppOperationImplementation/%.2/%.8/%.2/self"> + <eAnnotations source="positions.231" references="/0/CppOperationImplementation/%.2/%.8/%.2/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.190" references="/0/CppOperationImplementation/%.2/%.8/%.3"> - <details key="start" value="2715"/> - <details key="end" value="2735"/> + <eAnnotations source="positions.232" references="/0/CppOperationImplementation/%.2/%.8/collect"> + <details key="start" value="3138"/> + <details key="end" value="3172"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.191" references="/0/CppOperationImplementation/%.2/%.8/%.3/%"> - <details key="start" value="2715"/> - <details key="end" value="2730"/> + <eAnnotations source="positions.233" references="/0/CppOperationImplementation/%.2/%.8/collect/%"> + <details key="start" value="3138"/> + <details key="end" value="3167"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.192" references="/0/CppOperationImplementation/%.2/%.8/%.3/%/operation"> - <details key="start" value="2715"/> - <details key="end" value="2724"/> + <eAnnotations source="positions.234" references="/0/CppOperationImplementation/%.2/%.8/collect/%/operation"> + <details key="start" value="3138"/> + <details key="end" value="3147"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.193" references="/0/CppOperationImplementation/%.2/%.8/%.4"> - <details key="start" value="2738"/> - <details key="end" value="2762"/> + <eAnnotations source="positions.235" references="/0/CppOperationImplementation/%.2/%.8/collect/%.1"> + <details key="start" value="3168"/> + <details key="end" value="3172"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.194" references="/0/CppOperationImplementation/%.2/%.8/%.4/self"> + <eAnnotations source="positions.236" references="/0/CppOperationImplementation/%.2/%.8/collect/%.1/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.195" references="/0/CppOperationImplementation/%.2/%.8/%.5"> - <details key="start" value="2764"/> - <details key="end" value="2766"/> - <details key="line" value="80"/> + <eAnnotations source="positions.237" references="/0/CppOperationImplementation/%.2/%.8/collect/temp4"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.196" references="/0/CppOperationImplementation/%.2/%.8/%.6"> - <details key="start" value="2767"/> - <details key="end" value="2779"/> + <eAnnotations source="positions.238" references="/0/CppOperationImplementation/%.2/%.8/%.3"> + <details key="start" value="3175"/> + <details key="end" value="3199"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.197" references="/0/CppOperationImplementation/%.2/%.8/%.6/self"> + <eAnnotations source="positions.239" references="/0/CppOperationImplementation/%.2/%.8/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.198" references="/0/CppOperationImplementation/%.2/%.8/%.7"> - <details key="start" value="2782"/> - <details key="end" value="2796"/> + <eAnnotations source="positions.240" references="/0/CppOperationImplementation/%.2/%.8/%.4"> + <details key="start" value="3201"/> + <details key="end" value="3203"/> + <details key="line" value="89"/> + </eAnnotations> + <eAnnotations source="positions.241" references="/0/CppOperationImplementation/%.2/%.8/%.5"> + <details key="start" value="3204"/> + <details key="end" value="3216"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.199" references="/0/CppOperationImplementation/%.2/%.8/%.7/operation"> - <details key="start" value="2782"/> - <details key="end" value="2791"/> + <eAnnotations source="positions.242" references="/0/CppOperationImplementation/%.2/%.8/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.200" references="/0/CppOperationImplementation/%.2/%.8/%.8"> - <details key="start" value="2798"/> - <details key="end" value="2799"/> - <details key="line" value="80"/> + <eAnnotations source="positions.243" references="/0/CppOperationImplementation/%.2/%.8/%.6"> + <details key="start" value="3219"/> + <details key="end" value="3233"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.244" references="/0/CppOperationImplementation/%.2/%.8/%.6/operation"> + <details key="start" value="3219"/> + <details key="end" value="3228"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.245" references="/0/CppOperationImplementation/%.2/%.8/%.7"> + <details key="start" value="3235"/> + <details key="end" value="3236"/> + <details key="line" value="89"/> </eAnnotations> - <eAnnotations source="positions.201" references="/0/CppOperationImplementation/%.2/%.8/%.9"> - <details key="start" value="2800"/> - <details key="end" value="2829"/> + <eAnnotations source="positions.246" references="/0/CppOperationImplementation/%.2/%.8/%.8"> + <details key="start" value="3237"/> + <details key="end" value="3266"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.202" references="/0/CppOperationImplementation/%.2/%.8/%.9/self"> + <eAnnotations source="positions.247" references="/0/CppOperationImplementation/%.2/%.8/%.8/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.203" references="/0/CppOperationImplementation/%.2/%.8/%.9/%"> - <details key="start" value="2823"/> - <details key="end" value="2828"/> + <eAnnotations source="positions.248" references="/0/CppOperationImplementation/%.2/%.8/%.8/%"> + <details key="start" value="3260"/> + <details key="end" value="3265"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.204" references="/0/CppOperationImplementation/%.2/%.8/%.10"> - <details key="start" value="2831"/> - <details key="end" value="2832"/> - <details key="line" value="80"/> + <eAnnotations source="positions.249" references="/0/CppOperationImplementation/%.2/%.8/%.9"> + <details key="start" value="3268"/> + <details key="end" value="3269"/> + <details key="line" value="89"/> </eAnnotations> - <eAnnotations source="positions.205" references="/0/CppOperationImplementation/%.2/%.8/%.11"> - <details key="start" value="2833"/> - <details key="end" value="2841"/> + <eAnnotations source="positions.250" references="/0/CppOperationImplementation/%.2/%.8/%.10"> + <details key="start" value="3270"/> + <details key="end" value="3278"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.206" references="/0/CppOperationImplementation/%.2/%.8/%.11/self"> + <eAnnotations source="positions.251" references="/0/CppOperationImplementation/%.2/%.8/%.10/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.207" references="/0/CppOperationImplementation/%.2/%.8/%.12"> - <details key="start" value="2844"/> - <details key="end" value="2854"/> + <eAnnotations source="positions.252" references="/0/CppOperationImplementation/%.2/%.8/%.11"> + <details key="start" value="3281"/> + <details key="end" value="3291"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.208" references="/0/CppOperationImplementation/%.2/%.8/%.12/self"> + <eAnnotations source="positions.253" references="/0/CppOperationImplementation/%.2/%.8/%.11/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.209" references="/0/CppOperationImplementation/%.2/%.8/%.13"> - <details key="start" value="2857"/> - <details key="end" value="2871"/> + <eAnnotations source="positions.254" references="/0/CppOperationImplementation/%.2/%.8/%.12"> + <details key="start" value="3294"/> + <details key="end" value="3308"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.210" references="/0/CppOperationImplementation/%.2/%.8/%.13/self"> + <eAnnotations source="positions.255" references="/0/CppOperationImplementation/%.2/%.8/%.12/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.211" references="/0/CppOperationImplementation/%.2/%.8/%.14"> - <details key="start" value="2873"/> - <details key="end" value="2877"/> - <details key="line" value="80"/> + <eAnnotations source="positions.256" references="/0/CppOperationImplementation/%.2/%.8/%.13"> + <details key="start" value="3310"/> + <details key="end" value="3314"/> + <details key="line" value="89"/> </eAnnotations> - <eAnnotations source="positions.212" references="/0/CppOperationImplementation/%.2/%.8/%.15"> - <details key="start" value="2878"/> - <details key="end" value="2904"/> + <eAnnotations source="positions.257" references="/0/CppOperationImplementation/%.2/%.8/%.14"> + <details key="start" value="3315"/> + <details key="end" value="3341"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.213" references="/0/CppOperationImplementation/%.2/%.8/%.15/self"> + <eAnnotations source="positions.258" references="/0/CppOperationImplementation/%.2/%.8/%.14/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.214" references="/0/CppOperationImplementation/%.2/%.8/%.15/%"> - <details key="start" value="2896"/> - <details key="end" value="2903"/> + <eAnnotations source="positions.259" references="/0/CppOperationImplementation/%.2/%.8/%.14/%"> + <details key="start" value="3333"/> + <details key="end" value="3340"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.215" references="/0/CppOperationImplementation/%.2/%.8/%.16"> - <details key="start" value="2906"/> - <details key="end" value="2909"/> + <eAnnotations source="positions.260" references="/0/CppOperationImplementation/%.2/%.8/%.15"> + <details key="start" value="3343"/> + <details key="end" value="3346"/> + <details key="line" value="91"/> + </eAnnotations> + <eAnnotations source="positions.261" references="/0/CppOperationImplementation/operation"> + <details key="start" value="2905"/> + <details key="end" value="2926"/> <details key="line" value="82"/> </eAnnotations> - <eAnnotations source="positions.216" references="/0/CppOperationImplementation/operation"> - <details key="start" value="2482"/> - <details key="end" value="2503"/> - <details key="line" value="73"/> + <eAnnotations source="positions.262" references="/0/CppBehaviorImplementation"> + <details key="start" value="3366"/> + <details key="end" value="3607"/> + <details key="line" value="96"/> + </eAnnotations> + <eAnnotations source="positions.263" references="/0/CppBehaviorImplementation/%"> + <details key="start" value="3438"/> + <details key="end" value="3454"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.264" references="/0/CppBehaviorImplementation/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.265" references="/0/CppBehaviorImplementation/%.1"> + <details key="start" value="3456"/> + <details key="end" value="3457"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.266" references="/0/CppBehaviorImplementation/%.2"> + <details key="start" value="3458"/> + <details key="end" value="3473"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.267" references="/0/CppBehaviorImplementation/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.268" references="/0/CppBehaviorImplementation/%.3"> + <details key="start" value="3476"/> + <details key="end" value="3498"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.269" references="/0/CppBehaviorImplementation/%.3/%"> + <details key="start" value="3476"/> + <details key="end" value="3493"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.270" references="/0/CppBehaviorImplementation/%.3/%/behavior"> + <details key="start" value="3476"/> + <details key="end" value="3484"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.271" references="/0/CppBehaviorImplementation/%.4"> + <details key="start" value="3500"/> + <details key="end" value="3502"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.272" references="/0/CppBehaviorImplementation/%.5"> + <details key="start" value="3503"/> + <details key="end" value="3516"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.273" references="/0/CppBehaviorImplementation/%.5/behavior"> + <details key="start" value="3503"/> + <details key="end" value="3511"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.274" references="/0/CppBehaviorImplementation/%.6"> + <details key="start" value="3518"/> + <details key="end" value="3519"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.275" references="/0/CppBehaviorImplementation/%.7"> + <details key="start" value="3520"/> + <details key="end" value="3548"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.276" references="/0/CppBehaviorImplementation/%.7/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.277" references="/0/CppBehaviorImplementation/%.7/%"> + <details key="start" value="3542"/> + <details key="end" value="3547"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.278" references="/0/CppBehaviorImplementation/%.8"> + <details key="start" value="3550"/> + <details key="end" value="3551"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.279" references="/0/CppBehaviorImplementation/%.9"> + <details key="start" value="3552"/> + <details key="end" value="3562"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.280" references="/0/CppBehaviorImplementation/%.9/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.281" references="/0/CppBehaviorImplementation/%.10"> + <details key="start" value="3564"/> + <details key="end" value="3568"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.282" references="/0/CppBehaviorImplementation/%.11"> + <details key="start" value="3569"/> + <details key="end" value="3591"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.283" references="/0/CppBehaviorImplementation/%.11/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.284" references="/0/CppBehaviorImplementation/%.11/%"> + <details key="start" value="3583"/> + <details key="end" value="3590"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.285" references="/0/CppBehaviorImplementation/%.12"> + <details key="start" value="3593"/> + <details key="end" value="3595"/> + <details key="line" value="100"/> + </eAnnotations> + <eAnnotations source="positions.286" references="/0/CppBehaviorImplementation/behavior"> + <details key="start" value="3409"/> + <details key="end" value="3434"/> + <details key="line" value="96"/> </eAnnotations> </ecore:EAnnotation> </xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl index 4dc7d84ca9f..18bcb778f50 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl @@ -37,6 +37,11 @@ endif/] [/template] +[template public CppReturnSpec(behavior : Behavior)] +[if (returnResult() = null)]void [else][returnResult().modConst()/] [returnResult().type.cppQualifiedName()/] [/if][returnResult().modPtr()/][returnResult().modRef()/] +[/template] + + [template public InlineTxt(element : Element)] [if (hasStereotype(Inline))]inline [/if] [/template] @@ -48,9 +53,13 @@ endif/] [template public CppOperationDeclaration(operation : Operation)] [CppOperationDoc()/] -[InlineTxt()/][virtualTxt()/][staticTxt()/][CppReturnSpec()/] [destructor()/][operation.name/]([CppOperationParameters(true)/])[modConst()/][virtualSuffix()/]; +[InlineTxt()/][virtualTxt()/][staticTxt()/][CppReturnSpec()/][destructor()/][operation.name/]([CppOperationParameters(true)/])[modConst()/][virtualSuffix()/]; [/template] +[template public CppBehaviorDeclaration(behavior : Behavior)] +[CppBehaviorDoc()/] +[InlineTxt()/][CppReturnSpec()/][behavior.name/]([CppBehaviorParameters(true)/])[modConst()/]; +[/template] [template public CppConstInit(operation : Operation)] [if (hasStereotype(ConstInit) and hasStereotype(l2::Create))] : [getApplication(ConstInit).oclAsType(ConstInit).initialisation/][/if] @@ -77,8 +86,16 @@ throws [for (raisedException) separator(',')][name/][/for] [getBody('C/C++')/] } [else] -[templateSignature()/][InlineTxt()/][CppReturnSpec()/][operation.class.name/][templateShortSignature()/]::[destructor()/][operation.name/]([CppOperationParameters(false)/])[throws()/][modConst()/][CppConstInit()/] { +[templateSignature()/][InlineTxt()/][CppReturnSpec()/][operation.featuringClassifier.name/][templateShortSignature()/]::[destructor()/][operation.name/]([CppOperationParameters(false)/])[throws()/][modConst()/][CppConstInit()/] { [getBodyInTemplate('C/C++')/] } [/if] [/template] + + +[template public CppBehaviorImplementation(behavior : OpaqueBehavior)] +[CppBehaviorDoc()/] +[CppReturnSpec()/][behavior._context.name/]::[behavior.name/]([CppBehaviorParameters(false)/])[modConst()/] { + [getBodyFromOB('C/C++')/] +} +[/template]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl index 2ea93401e0e..edfd311aa77 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl @@ -7,9 +7,9 @@ <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/CppGenUtils.emtl#/0"/> + <imports href="platform:/plugin/utils/Modifier.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public"> <body xsi:type="mtl:IfBlock"> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/> @@ -49,14 +49,14 @@ <ownedModuleElement xsi:type="mtl:Template" name="CppParameter" visibility="Public"> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modConst"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modConst"/> <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#//Parameter"/> </argument> </body> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <definition href="platform:/plugin/utils/CppGenUtils.emtl#/0/cppQualifiedName"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/CppParameter/parameter"> @@ -67,14 +67,14 @@ </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"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modPtr"/> <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#//Parameter"/> </argument> </body> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modRef"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modRef"/> <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> @@ -89,7 +89,7 @@ </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"/> + <definition href="platform:/plugin/utils/Modifier.emtl#/0/modArray"/> <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#//Parameter"/> </argument> @@ -160,6 +160,57 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> </parameter> </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="1033" endPosition="1099" value=" signature for a given behavior (e.g. effect within state machine)"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorParameters" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParameter"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + <argument xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppBehaviorParameters/showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/24/OrderedSet(Parameter)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/24/OrderedSet(Parameter)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior/ownedParameter"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppBehaviorParameters/%/select/temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter/direction"/> + </source> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind/return"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </iterator> + </iterSet> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <parameter name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </parameter> + <parameter name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </parameter> + </ownedModuleElement> </mtl:Module> <ecore:EPackage name="additions"> <eClassifiers xsi:type="ecore:EClass" name="String_Class"> @@ -217,12 +268,25 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> </eParameters> </eOperations> + <eOperations name="CppBehaviorParameters"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppBehaviorParameters"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + <eParameters name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> <eOperations name="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"/> + <references href="platform:/plugin/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"> @@ -234,7 +298,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/Modifier.emtl#/0/modPtr"/> + <references href="platform:/plugin/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"> @@ -246,7 +310,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/Modifier.emtl#/0/modRef"/> + <references href="platform:/plugin/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"> @@ -258,7 +322,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/Modifier.emtl#/0/modArray"/> + <references href="platform:/plugin/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"> @@ -270,7 +334,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../utils/Modifier.emtl#/0/modConst"/> + <references href="platform:/plugin/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"> @@ -308,6 +372,11 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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"/> @@ -338,11 +407,21 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </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="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> @@ -436,6 +515,36 @@ <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#//Behavior"/> + </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#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </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#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/defaultValue"> <details key="start" value="290"/> @@ -682,5 +791,90 @@ <details key="end" value="882"/> <details key="line" value="20"/> </eAnnotations> + <eAnnotations source="positions.49" references="/0/%.1"> + <details key="start" value="1025"/> + <details key="end" value="1101"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppBehaviorParameters"> + <details key="start" value="1102"/> + <details key="end" value="1323"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppBehaviorParameters/%"> + <details key="start" value="1186"/> + <details key="end" value="1311"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppBehaviorParameters/%/%"> + <details key="start" value="1278"/> + <details key="end" value="1303"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppBehaviorParameters/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppBehaviorParameters/%/%/showDefault"> + <details key="start" value="1291"/> + <details key="end" value="1302"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppBehaviorParameters/%/select"> + <details key="start" value="1192"/> + <details key="end" value="1259"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppBehaviorParameters/%/select/%"> + <details key="start" value="1192"/> + <details key="end" value="1206"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppBehaviorParameters/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppBehaviorParameters/%/select/%.1"> + <details key="start" value="1215"/> + <details key="end" value="1258"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppBehaviorParameters/%/select/%.1/%"> + <details key="start" value="1215"/> + <details key="end" value="1224"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppBehaviorParameters/%/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppBehaviorParameters/%/select/%.1/%.1"> + <details key="start" value="1228"/> + <details key="end" value="1258"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppBehaviorParameters/%/select/temp2"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppBehaviorParameters/%/%.1"> + <details key="start" value="1271"/> + <details key="end" value="1275"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppBehaviorParameters/behavior"> + <details key="start" value="1141"/> + <details key="end" value="1160"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppBehaviorParameters/showDefault"> + <details key="start" value="1162"/> + <details key="end" value="1183"/> + <details key="line" value="26"/> + </eAnnotations> </ecore:EAnnotation> </xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl index 65ecd6707e4..bffec7ecfa8 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl @@ -19,4 +19,10 @@ [template public CppOperationParameters(operation : Operation, showDefault : Boolean)] [for (ownedParameter->select(direction <> ParameterDirectionKind::return)) separator(', ')][CppParameter(showDefault)/][/for] +[/template] + + +[comment signature for a given behavior (e.g. effect within state machine)/] +[template public CppBehaviorParameters(behavior : Behavior, showDefault : Boolean)] +[for (ownedParameter->select(direction <> ParameterDirectionKind::return)) separator(', ')][CppParameter(showDefault)/][/for] [/template]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java index 9d3549b2047..b7ff6d23bca 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java @@ -11,10 +11,18 @@ package org.eclipse.papyrus.cpp.codegen.transformation;
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.ToolFactory;
+import org.eclipse.cdt.core.formatter.CodeFormatter;
import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
import org.eclipse.papyrus.C_Cpp.CppRoot;
import org.eclipse.papyrus.C_Cpp.ExternLibrary;
import org.eclipse.papyrus.C_Cpp.External;
@@ -25,7 +33,10 @@ import org.eclipse.papyrus.C_Cpp.Template; import org.eclipse.papyrus.acceleo.AcceleoDriver;
import org.eclipse.papyrus.acceleo.GenUtils;
import org.eclipse.papyrus.acceleo.ModelElementsCreator;
+import org.eclipse.papyrus.cpp.codegen.Activator;
import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils;
+import org.eclipse.text.edits.MalformedTreeException;
+import org.eclipse.text.edits.TextEdit;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Element;
@@ -144,7 +155,45 @@ public class CppModelElementsCreator extends ModelElementsCreator { }
}
+ @Override
+ protected void createFile(IFile file, String content, boolean force) throws CoreException {
+ String formatted = format(content);
+ super.createFile(file, formatted, force);
+ }
+
+ /**
+ * Apply the user's currently selected formatting options to the input content. Return the
+ * input String in case of error.
+ */
+ private static String format(String content) {
+
+ // do nothing if the CDT plugin is not loaded
+ if (Platform.getBundle(CCorePlugin.PLUGIN_ID) == null)
+ return content;
+
+ CodeFormatter codeFormatter = ToolFactory.createCodeFormatter(null);
+ IDocument doc = new Document(content);
+
+ TextEdit edit = codeFormatter.format(CodeFormatter.K_TRANSLATION_UNIT, doc.get(), 0, doc.get().length(), 0, null);
+
+ if (edit == null) {
+ Activator.log.debug("Cannot format content");
+ return content;
+ }
+
+ try {
+ edit.apply(doc);
+ return doc.get();
+ } catch (MalformedTreeException e) {
+ Activator.log.error(e);
+ } catch (BadLocationException e) {
+ Activator.log.error(e);
+ }
+
+ return content;
+ }
+ @Override
protected void createPackageFiles(IContainer packageContainer, IProgressMonitor monitor, Package pkg) throws CoreException {
// Creates the header for the package.
String fileContent = commentHeader + AcceleoDriver.evaluateURI(CppPackageHeader, pkg);
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.emtl index d7f116d65be..23c2bb612d9 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.emtl @@ -212,6 +212,67 @@ </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="resetVisibility" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils"> + <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="resetVisibility(org.eclipse.uml2.uml.VisibilityKind)"> + <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:CollectionLiteralExp" eType="/4/Sequence(VisibilityKind)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/resetVisibility/arg0"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </item> + </part> + </argument> + </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="getSection" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + <parameter name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils"> + <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="getSection(org.eclipse.uml2.uml.VisibilityKind, java.lang.String)"> + <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:CollectionLiteralExp" eType="/4/Sequence(OclAny)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getSection/arg0"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </item> + </part> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg1" referredVariable="/0/getSection/arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </item> + </part> + </argument> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> </mtl:Module> <ecore:EPackage name="additions"> <eClassifiers xsi:type="ecore:EClass" name="String_Class"> @@ -313,6 +374,29 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> </eParameters> </eOperations> + <eOperations name="resetVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/resetVisibility"/> + <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:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="getSection"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getSection"/> + <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:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -372,6 +456,11 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> @@ -398,6 +487,9 @@ <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List"> <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(VisibilityKind)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> @@ -468,6 +560,24 @@ <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:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </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/getTemplateParametersWoType"> <details key="start" value="93"/> @@ -789,5 +899,95 @@ <details key="end" value="1670"/> <details key="line" value="0"/> </eAnnotations> + <eAnnotations source="positions.64" references="/0/resetVisibility"> + <details key="start" value="1677"/> + <details key="end" value="1879"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/resetVisibility/arg0"> + <details key="start" value="1707"/> + <details key="end" value="1728"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/resetVisibility/%"> + <details key="start" value="1745"/> + <details key="end" value="1876"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/resetVisibility/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/resetVisibility/%/%"> + <details key="start" value="1752"/> + <details key="end" value="1803"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/resetVisibility/%/%.1"> + <details key="start" value="1805"/> + <details key="end" value="1859"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/resetVisibility/%/%.2"> + <details key="start" value="1861"/> + <details key="end" value="1875"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/resetVisibility/%/%.2/%/arg0"> + <details key="start" value="1870"/> + <details key="end" value="1874"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/getSection"> + <details key="start" value="1881"/> + <details key="end" value="2112"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/getSection/arg0"> + <details key="start" value="1906"/> + <details key="end" value="1927"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/getSection/arg1"> + <details key="start" value="1929"/> + <details key="end" value="1942"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/getSection/%"> + <details key="start" value="1959"/> + <details key="end" value="2109"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/getSection/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/getSection/%/%"> + <details key="start" value="1966"/> + <details key="end" value="2017"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/getSection/%/%.1"> + <details key="start" value="2019"/> + <details key="end" value="2086"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/getSection/%/%.2"> + <details key="start" value="2088"/> + <details key="end" value="2108"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/getSection/%/%.2/%/arg0"> + <details key="start" value="2097"/> + <details key="end" value="2101"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/getSection/%/%.2/%.1/arg1"> + <details key="start" value="2103"/> + <details key="end" value="2107"/> + <details key="line" value="0"/> + </eAnnotations> </ecore:EAnnotation> </xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java index 25d9a99082d..1e8e83c440e 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java @@ -12,6 +12,8 @@ package org.eclipse.papyrus.cpp.codegen.utils; import java.util.Iterator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.eclipse.papyrus.C_Cpp.ExternLibrary; import org.eclipse.papyrus.C_Cpp.External; @@ -34,6 +36,7 @@ import org.eclipse.uml2.uml.Package; import org.eclipse.uml2.uml.ParameterableElement; import org.eclipse.uml2.uml.PrimitiveType; import org.eclipse.uml2.uml.TemplateParameter; +import org.eclipse.uml2.uml.VisibilityKind; import org.eclipse.uml2.uml.util.UMLUtil; @@ -292,4 +295,42 @@ public class CppGenUtils { } private static Namespace currentNS; + + private static boolean visibilityStale = false; + private static VisibilityKind currVisibility = null; + private static final Pattern EmptySectionRegex = Pattern.compile("^\\s*$"); + + /** + * Update the current visibility to the specified value without writing this value to + * the output. This is to be used when setting the default visibility of a class/struct. + */ + public static void resetVisibility(VisibilityKind v) { + currVisibility = v; + visibilityStale = false; + } + + /** + * Create a section of code with the appropriate visibility. Merges the content with + * the previously declared visibility (if appropriate). Ignore empty content. + */ + public static String getSection(VisibilityKind visibility, String content) { + if (!visibility.equals(currVisibility)) { + currVisibility = visibility; + visibilityStale = true; + } + + // Filter out empty sections. + Matcher m = EmptySectionRegex.matcher(content); + if (content.isEmpty() || m.matches()) { + return ""; + } + + // Don't write duplicate visibility modifiers. + if (!visibilityStale) { + return content; + } + + visibilityStale = false; + return currVisibility.toString() + ":\n" + content; + } } diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.mtl index 98dedb83e9f..6fb8bc2160d 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.mtl @@ -33,3 +33,10 @@ = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'getGeneralizationVisibility(org.eclipse.uml2.uml.Element)', Sequence{arg0}) /] +[query public resetVisibility(arg0 : VisibilityKind) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'resetVisibility(org.eclipse.uml2.uml.VisibilityKind)', Sequence{arg0}) +/] + +[query public getSection(arg0 : VisibilityKind, arg1 : String) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'getSection(org.eclipse.uml2.uml.VisibilityKind, java.lang.String)', Sequence{arg0, arg1}) +/] |