Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnsgar Radermacher2013-10-28 10:26:07 -0400
committerAnsgar Radermacher2013-10-28 10:26:07 -0400
commit813571cd2ac6bc4d29c7396e7d081355b10a47e4 (patch)
tree81a4860bb54c56adcb14085998be94c4b2d355d1 /extraplugins/codegen/org.eclipse.papyrus.cpp.codegen
parent3dcac8b06cf2f3ec1e01dd68dcb3af2c77099331 (diff)
downloadorg.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/codegen/org.eclipse.papyrus.cpp.codegen')
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF4
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java7
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl29
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl31
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl155
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl2
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl1325
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl36
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl36
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl33
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl23
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl255
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl8
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl20
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl40
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl31
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl35
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl55
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl61
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl33
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl221
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl7
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl235
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl8
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl419
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl11
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl1644
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl21
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl220
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl6
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java49
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.emtl200
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java41
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.mtl7
34 files changed, 3847 insertions, 1461 deletions
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="&#xA;#include &lt;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/>
+ <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&#xA;#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 &lt;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/>
+ <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="&#xA;#include &lt;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/>
- <argument xsi:type="ocl.ecore: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'&#xA;"/>
+ <ifExpr xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/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="&#xA; struct&#xA;"/>
+ <ifExpr xsi:type="ocl.ecore:OperationCallExp">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <source xsi:type="ocl.ecore: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="&#xA; class&#xA;"/>
+ </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&#xA;TODO: should be disabled by default, since non-static members can be initialized directly&#xA;in C++ 011"/>
+ <body startPosition="1590" endPosition="1758" value=" default initializer for non-static attributes with a default value&#xA;TODO: should be disabled by default, since non-static members can be initialized directly&#xA;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&#xA;#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="&#xA;&#xA; public:&#xA;"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <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="&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="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="&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="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="&#xA;&#xA; protected:&#xA;"/>
- <body xsi:type="mtl:TemplateInvocation">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="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="&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="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="&#xA;&#xA; private:&#xA;"/>
- <body xsi:type="mtl:TemplateInvocation">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="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="&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="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="&#xA;&#xA;};&#xA;/************************************************************/&#xA;/* External declarations (package visibility) */&#xA;"/>
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;};&#xA;/************************************************************/&#xA;/* External declarations (package visibility) */&#xA;"/>
<body xsi:type="mtl:TemplateInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<definition href="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="&#xA;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../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="&#xA;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../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="&#xA;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../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="&#xA;#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 &lt;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/>
+ <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=">&#xA;"/>
<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="/**&#xA; * "/>
- <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="&#xA; * ">
<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="&#xA; */"/>
<parameter name="argument">
@@ -30,11 +31,11 @@
</ownedModuleElement>
<ownedModuleElement xsi:type="mtl:Template" name="CppOperationDoc" visibility="Public">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**&#xA; * "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
+ <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="&#xA; * ">
<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="&#xA; * "/>
<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="/**&#xA; * "/>
+ <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="&#xA;">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; * ">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ </argument>
+ <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="&#xA; * "/>
+ <body xsi:type="mtl:ForBlock">
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParamDoc">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/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="&#xA; */"/>
+ <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="&#xA; * ">
<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="&#xA;"/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typedef "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
+ <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=";&#xA;"/>
<ifExpr xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/>
+ <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=";&#xA;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/CppGenUtils.emtl#/0/closeNS"/>
+ <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 */&#xA;#include &lt;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/>
+ <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="&#xA;Return a list of relationships that are either Generalizations or InterfaceRealiazations&#xA;and the target does not point to a classifier that has the no-code-gen Stereotype&#xA;TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.&#xA;"/>
</ownedModuleElement>
@@ -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="&#xA;&#x9;// opaque behavior without specification (typically from state machine)&#xA;&#x9;"/>
+ <body xsi:type="mtl:TemplateInvocation">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <definition href="../operation/CppOperations.emtl#/0/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="&#xA;"/>
+ <ifExpr xsi:type="ocl.ecore:OperationCallExp">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <source xsi:type="ocl.ecore:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//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&#xA; 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="&#xA;// opaque behavior without specification (typically from state machine)&#xA;"/>
+ <body xsi:type="mtl:TemplateInvocation">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <definition href="../operation/CppOperations.emtl#/0/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="&#xA;"/>
+ <ifExpr xsi:type="ocl.ecore:OperationCallExp">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+ <source xsi:type="ocl.ecore:PropertyCallExp">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//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:&#xA;&#x9;"/>
- <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="&#xA; protected:&#xA;&#x9;"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <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="&#xA; private:&#xA;&#x9;"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
+ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA; "/>
+ <body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <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="&#xA;"/>
<body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45">
+ <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="&#xA;"/>
+ <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/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=") {&#xA;&#x9;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/85">
+ <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=" {&#xA;&#x9;"/>
<body xsi:type="mtl:TemplateInvocation" definition="/0/getBodyInTemplate">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/97">
+ <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="&#xA;"/>
+ <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=" {&#xA;&#x9;"/>
+ <body xsi:type="mtl:QueryInvocation">
+ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+ <definition href="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="&#xA;}"/>
+ <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})
+/]

Back to the top