diff options
author | Ansgar Radermacher | 2013-08-09 13:15:33 +0000 |
---|---|---|
committer | Ansgar Radermacher | 2013-08-09 13:15:33 +0000 |
commit | c7da9455ebe50fb302bde9b9049f288511afbb2c (patch) | |
tree | cfaff2f9b660befb85db8d473f1e0392ff4122a8 | |
parent | 97aac38470f7ab344bf31301181b861d8699f7cc (diff) | |
download | org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.tar.gz org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.tar.xz org.eclipse.papyrus-c7da9455ebe50fb302bde9b9049f288511afbb2c.zip |
Refactored GenUtils with the objective to support multiple programming languages
- moved C++ independent part into org.eclipse.papyrus.acceleo plugin
- created CppGenUtils that contains now only C++ specific code
- subsequent changes in many .mtl and .emtl files
55 files changed, 19855 insertions, 18545 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/.project b/extraplugins/codegen/org.eclipse.papyrus.acceleo/.project index 017b46f67ed..35d4d159b8e 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/.project +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/.project @@ -20,9 +20,16 @@ <arguments> </arguments> </buildCommand> + <buildCommand> + <name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> - <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature> <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> </natures> </projectDescription> + diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.acceleo b/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.acceleo new file mode 100644 index 00000000000..fb14dcfe540 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.acceleo @@ -0,0 +1,26 @@ +<!-- ===================================================================== --> +<!-- Custom targets. --> +<!-- Set customBuildCallbacks = build.acceleo in your build.properties. --> +<!-- ===================================================================== --> +<project name="Build Acceleo Module" default="noDefault"> + <!-- ================================================================= --> + <!-- Default target --> + <!-- ================================================================= --> + <target name="noDefault"> + <echo message="This file must be called with explicit targets" /> + </target> + + <!-- ================================================================= --> + <!-- This will be called automatically after the compilation of each --> + <!-- Bundle... in dependency order. --> + <!-- ================================================================= --> + <target name="post.compile.@dot"> + <acceleoCompiler + sourceFolder="${target.folder}" + outputFolder="${target.folder}" + dependencies="" + binaryResource="false" + packagesToRegister=""> + </acceleoCompiler> + </target> +</project> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties b/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties index 9cbab3c135e..0cea57ee912 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties @@ -1,6 +1,7 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html -src.includes = about.html +# +#Fri Aug 09 14:41:33 CEST 2013 +bin.includes=META-INF/,.,about.html +output..=bin/ +src.includes=about.html +source..=src/ +customBuildCallbacks=build.acceleo diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenericGenUtils.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java index 5bf3d9df19a..20eeca7da89 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenericGenUtils.java +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 - 2012 CEA LIST. + * Copyright (c) 2006 - 2013 CEA LIST. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -43,10 +43,12 @@ import org.eclipse.uml2.uml.Type; /** * Some utilities: a set of static methods for Acceleo based code generation * - * @author wassim + * @author wassim, ansgar * */ -public class GenericGenUtils { +public class GenUtils { + + public static final String NL = System.getProperties().getProperty("line.separator"); //$NON-NLS-1$ /** * Retrieve template bindings for the class passed as a Parameter @@ -83,12 +85,30 @@ public class GenericGenUtils { return result; } - /** + * Get the name of a template parameter or undefined, if it is not set * - * @param classifier + * @param templateParam * @return */ + public static String getTemplateName(TemplateParameter templateParam) { + String name = ""; //$NON-NLS-1$ + ParameterableElement pElt = templateParam.getParameteredElement(); + if((pElt != null) && (pElt instanceof NamedElement)) { + name = ((NamedElement)pElt).getName(); + } else { + name = "undefined"; //$NON-NLS-1$ + } + + return name; + } + + + /** + * + * @param classifier a classifier owning a template signature + * @return the list of (formal) parameters defined within a template signature + */ public static Collection<TemplateParameter> getTemplateParameters(Classifier classifier) { Collection<TemplateParameter> params = new ArrayList<TemplateParameter>(); @@ -119,7 +139,29 @@ public class GenericGenUtils { return params; } + /** + * Retrieve a list of types that belong to by a classifier in the current class + * + * @param current + * Class on which the attributes are searched + * @return collection of classes which are the type of the attributes + */ + public static EList<Classifier> getOwnedAttributeTypes(Classifier current) { + EList<Classifier> result = new UniqueEList<Classifier>(); + Iterator<Property> attributes; + attributes = current.getAttributes().iterator(); + while(attributes.hasNext()) { + Property currentAttribute = attributes.next(); + Type type = currentAttribute.getType(); + if(type instanceof Classifier) { + Classifier attrType = (Classifier)type; + result.add(attrType); + } + } + return result; + } + /** * Retrieve a list of types that belong to by a classifier in the current class * @@ -127,7 +169,7 @@ public class GenericGenUtils { * Class on which the attributes are searched * @return collection of classes which are the type of the attributes */ - public static EList<Classifier> getTypesViaAttributesk(Classifier current) { + public static EList<Classifier> getTypesViaAttributes(Classifier current) { EList<Classifier> result = new UniqueEList<Classifier>(); for (Property currentAttribute : current.getAttributes()) { @@ -140,8 +182,9 @@ public class GenericGenUtils { } /** - * Retrieve the operations in the current class then for each - * operation it finds the parameters that have a class type + * Retrieve the operations in the current class. For each + * operation collected the classifier type. This class thus finds types, on + * which the signature depends. * * @param current * Class on which the attributes are searched @@ -234,6 +277,7 @@ public class GenericGenUtils { return classifiers; } + /** * Return the qualified name of a named element, but use "_" instead of "::" as separator * @@ -348,6 +392,8 @@ public class GenericGenUtils { /** * Is a certain stereotype applied? + * In case of Java, we use the class above (without the A) prefix. In case of Acceleo, a stereotype + * such as C_Cpp::Include is passed as EClass and we therefore use this operation from Acceleo. * * @param element * @param eClass The eClass associated with the stereotype name @@ -387,6 +433,17 @@ public class GenericGenUtils { return null; } + /** + * Return a stereotype application when given the eClass of that application. + * In case of Java, we use the class above (without the A) prefix. In case of Acceleo, a stereotype + * such as C_Cpp::Include is passed as EClass and we therefore use this operation from Acceleo. + + * @param element + * the UML model element + * @param eClass + * the eClass of the stereotype application + * @return + */ public static EObject getApplicationA(Element element, EClass eClass) { for(EObject stereoApplication : element.getStereotypeApplications()) { // check whether the stereotype is an instance of the passed parameter clazz diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl new file mode 100644 index 00000000000..78c5b0f9afa --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl @@ -0,0 +1,95 @@ +[comment encoding = UTF-8 /] +[module GenUtils('http://www.eclipse.org/uml2/4.0.0/UML')/] + +[query public getTemplateBindings(arg0 : Class) : TemplateBinding + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTemplateBindings(org.eclipse.uml2.uml.Class)', Sequence{arg0}) +/] + +[query public isTemplateBoundElement(arg0 : Classifier) : Boolean + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'isTemplateBoundElement(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getTemplateName(arg0 : TemplateParameter) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTemplateName(org.eclipse.uml2.uml.TemplateParameter)', Sequence{arg0}) +/] + +[query public getTemplateParameters(arg0 : Classifier) : Collection(TemplateParameter) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTemplateParameters(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getTemplateParameteredElements(arg0 : Classifier) : Collection(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTemplateParameteredElements(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getOwnedAttributeTypes(arg0 : Classifier) : Sequence(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getOwnedAttributeTypes(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getTypesViaAttributes(arg0 : Classifier) : Sequence(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTypesViaAttributes(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getTypesViaOperations(arg0 : Classifier) : Sequence(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTypesViaOperations(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getTypesViaRelationships(arg0 : Classifier) : Sequence(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTypesViaRelationships(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getTypesViaDependencies(arg0 : Classifier) : Sequence(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTypesViaDependencies(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getTypesViaRelationshipsNoDeps(arg0 : Classifier) : Sequence(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getTypesViaRelationshipsNoDeps(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getFullName(arg0 : NamedElement) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getFullName(org.eclipse.uml2.uml.NamedElement)', Sequence{arg0}) +/] + +[query public getFullNameUC(arg0 : NamedElement) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getFullNameUC(org.eclipse.uml2.uml.NamedElement)', Sequence{arg0}) +/] + +[query public getComments(arg0 : Element) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getComments(org.eclipse.uml2.uml.Element)', Sequence{arg0}) +/] + +[query public getUsedPackages(arg0 : Package) : Sequence(Package) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getUsedPackages(org.eclipse.uml2.uml.Package)', Sequence{arg0}) +/] + +[query public getUsedClassifiers(arg0 : Classifier) : Sequence(Classifier) + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getUsedClassifiers(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getFullPath(arg0 : Package) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getFullPath(org.eclipse.uml2.uml.Package)', Sequence{arg0}) +/] + +[query public hasStereotype(arg0 : Element, arg1 : String) : Boolean + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'hasStereotype(org.eclipse.uml2.uml.Element, java.lang.String)', Sequence{arg0, arg1}) +/] + +[query public hasStereotype(arg0 : Element, arg1 : OclAny) : Boolean + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'hasStereotypeA(org.eclipse.uml2.uml.Element, org.eclipse.emf.ecore.EClass)', Sequence{arg0, arg1}) +/] + +[query public getApplication(arg0 : Element, arg1 : OclAny) : OclAny + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getApplicationA(org.eclipse.uml2.uml.Element, org.eclipse.emf.ecore.EClass)', Sequence{arg0, arg1}) +/] + +[query public getBody(arg0 : Operation, arg1 : String) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getBody(org.eclipse.uml2.uml.Operation, java.lang.String)', Sequence{arg0, arg1}) +/] + +[query public cleanCR(arg0 : String) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'cleanCR(java.lang.String)', Sequence{arg0}) +/] + +[query public maskNull(arg0 : String) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'maskNull(java.lang.String)', Sequence{arg0}) +/] + diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/Constants.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/Constants.emtl index 1bd7331e806..7f6367f668b 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/Constants.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/Constants.emtl @@ -1,576 +1,576 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="Constants" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::Constants" startHeaderPosition="29" endHeaderPosition="-1">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <ownedModuleElement xsi:type="mtl:Template" name="constIncludeHFile" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// include associated header file"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constIncludeHeaderStart" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Include from Include stereotype (header)"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constIncludePreBodyStart" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Include from Include stereotype (pre-body)"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constIncludePreBodyEnd" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// End of Include stereotype (pre-body)"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constIncludeBodyStart" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Include from Include declaration (body)"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constIncludeHeaderEnd" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// End of Include stereotype (header)"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constIncludeBodyEnd" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// End of Include stereotype (body)"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constDerivedIncludes" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Derived includes directives"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="forwardDecl" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// forward declarations"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="constStaticAttributes" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// static attributes (if any)"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="packageTypes" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Types defined within the package"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="undefinedType" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="undefined"/>
- <parameter name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="constIncludeHFile">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constIncludeHFile"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeHeaderStart">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constIncludeHeaderStart"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludePreBodyStart">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constIncludePreBodyStart"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludePreBodyEnd">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constIncludePreBodyEnd"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeBodyStart">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constIncludeBodyStart"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeHeaderEnd">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constIncludeHeaderEnd"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeBodyEnd">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constIncludeBodyEnd"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constDerivedIncludes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constDerivedIncludes"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="forwardDecl">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/forwardDecl"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constStaticAttributes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/constStaticAttributes"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="packageTypes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/packageTypes"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="undefinedType">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/undefinedType"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/constIncludeHFile">
- <details key="start" value="91"/>
- <details key="end" value="189"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/constIncludeHFile/%">
- <details key="start" value="144"/>
- <details key="end" value="177"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/constIncludeHFile/dummy">
- <details key="start" value="126"/>
- <details key="end" value="141"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/constIncludeHeaderStart">
- <details key="start" value="191"/>
- <details key="end" value="305"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/constIncludeHeaderStart/%">
- <details key="start" value="250"/>
- <details key="end" value="293"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/constIncludeHeaderStart/dummy">
- <details key="start" value="232"/>
- <details key="end" value="247"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/constIncludePreBodyStart">
- <details key="start" value="307"/>
- <details key="end" value="424"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/constIncludePreBodyStart/%">
- <details key="start" value="367"/>
- <details key="end" value="412"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/constIncludePreBodyStart/dummy">
- <details key="start" value="349"/>
- <details key="end" value="364"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/constIncludePreBodyEnd">
- <details key="start" value="426"/>
- <details key="end" value="535"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/constIncludePreBodyEnd/%">
- <details key="start" value="484"/>
- <details key="end" value="523"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/constIncludePreBodyEnd/dummy">
- <details key="start" value="466"/>
- <details key="end" value="481"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/constIncludeBodyStart">
- <details key="start" value="537"/>
- <details key="end" value="648"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/constIncludeBodyStart/%">
- <details key="start" value="594"/>
- <details key="end" value="636"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/constIncludeBodyStart/dummy">
- <details key="start" value="576"/>
- <details key="end" value="591"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/constIncludeHeaderEnd">
- <details key="start" value="650"/>
- <details key="end" value="756"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/constIncludeHeaderEnd/%">
- <details key="start" value="707"/>
- <details key="end" value="744"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/constIncludeHeaderEnd/dummy">
- <details key="start" value="689"/>
- <details key="end" value="704"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/constIncludeBodyEnd">
- <details key="start" value="758"/>
- <details key="end" value="860"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/constIncludeBodyEnd/%">
- <details key="start" value="813"/>
- <details key="end" value="848"/>
- <details key="line" value="30"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/constIncludeBodyEnd/dummy">
- <details key="start" value="795"/>
- <details key="end" value="810"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/constDerivedIncludes">
- <details key="start" value="862"/>
- <details key="end" value="960"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/constDerivedIncludes/%">
- <details key="start" value="918"/>
- <details key="end" value="948"/>
- <details key="line" value="34"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/constDerivedIncludes/dummy">
- <details key="start" value="900"/>
- <details key="end" value="915"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/forwardDecl">
- <details key="start" value="962"/>
- <details key="end" value="1044"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/forwardDecl/%">
- <details key="start" value="1009"/>
- <details key="end" value="1032"/>
- <details key="line" value="38"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/forwardDecl/dummy">
- <details key="start" value="991"/>
- <details key="end" value="1006"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/constStaticAttributes">
- <details key="start" value="1046"/>
- <details key="end" value="1144"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/constStaticAttributes/%">
- <details key="start" value="1103"/>
- <details key="end" value="1132"/>
- <details key="line" value="42"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/constStaticAttributes/dummy">
- <details key="start" value="1085"/>
- <details key="end" value="1100"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/packageTypes">
- <details key="start" value="1146"/>
- <details key="end" value="1241"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/packageTypes/%">
- <details key="start" value="1194"/>
- <details key="end" value="1229"/>
- <details key="line" value="46"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/packageTypes/dummy">
- <details key="start" value="1176"/>
- <details key="end" value="1191"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/undefinedType">
- <details key="start" value="1244"/>
- <details key="end" value="1314"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/undefinedType/%">
- <details key="start" value="1293"/>
- <details key="end" value="1302"/>
- <details key="line" value="51"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/undefinedType/dummy">
- <details key="start" value="1275"/>
- <details key="end" value="1290"/>
- <details key="line" value="50"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="Constants" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::Constants" startHeaderPosition="29" endHeaderPosition="-1"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <ownedModuleElement xsi:type="mtl:Template" name="constIncludeHFile" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// include associated header file"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constIncludeHeaderStart" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Include from Include stereotype (header)"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constIncludePreBodyStart" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Include from Include stereotype (pre-body)"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constIncludePreBodyEnd" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// End of Include stereotype (pre-body)"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constIncludeBodyStart" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Include from Include declaration (body)"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constIncludeHeaderEnd" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// End of Include stereotype (header)"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constIncludeBodyEnd" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// End of Include stereotype (body)"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constDerivedIncludes" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Derived includes directives"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="forwardDecl" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// forward declarations"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="constStaticAttributes" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// static attributes (if any)"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="packageTypes" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// Types defined within the package"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="undefinedType" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="undefined"/> + <parameter name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="constIncludeHFile"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constIncludeHFile"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeHeaderStart"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constIncludeHeaderStart"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludePreBodyStart"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constIncludePreBodyStart"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludePreBodyEnd"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constIncludePreBodyEnd"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeBodyStart"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constIncludeBodyStart"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeHeaderEnd"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constIncludeHeaderEnd"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeBodyEnd"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constIncludeBodyEnd"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constDerivedIncludes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constDerivedIncludes"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="forwardDecl"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/forwardDecl"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constStaticAttributes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/constStaticAttributes"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="packageTypes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/packageTypes"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="undefinedType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/undefinedType"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/constIncludeHFile"> + <details key="start" value="91"/> + <details key="end" value="189"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/constIncludeHFile/%"> + <details key="start" value="144"/> + <details key="end" value="177"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/constIncludeHFile/dummy"> + <details key="start" value="126"/> + <details key="end" value="141"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/constIncludeHeaderStart"> + <details key="start" value="191"/> + <details key="end" value="305"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/constIncludeHeaderStart/%"> + <details key="start" value="250"/> + <details key="end" value="293"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/constIncludeHeaderStart/dummy"> + <details key="start" value="232"/> + <details key="end" value="247"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/constIncludePreBodyStart"> + <details key="start" value="307"/> + <details key="end" value="424"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/constIncludePreBodyStart/%"> + <details key="start" value="367"/> + <details key="end" value="412"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/constIncludePreBodyStart/dummy"> + <details key="start" value="349"/> + <details key="end" value="364"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/constIncludePreBodyEnd"> + <details key="start" value="426"/> + <details key="end" value="535"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/constIncludePreBodyEnd/%"> + <details key="start" value="484"/> + <details key="end" value="523"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/constIncludePreBodyEnd/dummy"> + <details key="start" value="466"/> + <details key="end" value="481"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/constIncludeBodyStart"> + <details key="start" value="537"/> + <details key="end" value="648"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/constIncludeBodyStart/%"> + <details key="start" value="594"/> + <details key="end" value="636"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/constIncludeBodyStart/dummy"> + <details key="start" value="576"/> + <details key="end" value="591"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/constIncludeHeaderEnd"> + <details key="start" value="650"/> + <details key="end" value="756"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/constIncludeHeaderEnd/%"> + <details key="start" value="707"/> + <details key="end" value="744"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/constIncludeHeaderEnd/dummy"> + <details key="start" value="689"/> + <details key="end" value="704"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/constIncludeBodyEnd"> + <details key="start" value="758"/> + <details key="end" value="860"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/constIncludeBodyEnd/%"> + <details key="start" value="813"/> + <details key="end" value="848"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/constIncludeBodyEnd/dummy"> + <details key="start" value="795"/> + <details key="end" value="810"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/constDerivedIncludes"> + <details key="start" value="862"/> + <details key="end" value="960"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/constDerivedIncludes/%"> + <details key="start" value="918"/> + <details key="end" value="948"/> + <details key="line" value="34"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/constDerivedIncludes/dummy"> + <details key="start" value="900"/> + <details key="end" value="915"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/forwardDecl"> + <details key="start" value="962"/> + <details key="end" value="1044"/> + <details key="line" value="37"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/forwardDecl/%"> + <details key="start" value="1009"/> + <details key="end" value="1032"/> + <details key="line" value="38"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/forwardDecl/dummy"> + <details key="start" value="991"/> + <details key="end" value="1006"/> + <details key="line" value="37"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/constStaticAttributes"> + <details key="start" value="1046"/> + <details key="end" value="1144"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/constStaticAttributes/%"> + <details key="start" value="1103"/> + <details key="end" value="1132"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/constStaticAttributes/dummy"> + <details key="start" value="1085"/> + <details key="end" value="1100"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/packageTypes"> + <details key="start" value="1146"/> + <details key="end" value="1241"/> + <details key="line" value="45"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/packageTypes/%"> + <details key="start" value="1194"/> + <details key="end" value="1229"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/packageTypes/dummy"> + <details key="start" value="1176"/> + <details key="end" value="1191"/> + <details key="line" value="45"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/undefinedType"> + <details key="start" value="1244"/> + <details key="end" value="1314"/> + <details key="line" value="50"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/undefinedType/%"> + <details key="start" value="1293"/> + <details key="end" value="1302"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/undefinedType/dummy"> + <details key="start" value="1275"/> + <details key="end" value="1290"/> + <details key="line" value="50"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> 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 6d7b7f0e2b2..8630740ab13 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 @@ -1,865 +1,866 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppBindBody" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppBindBody" endHeaderPosition="60">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../utils/GenUtils.emtl#/0"/>
- <imports href="../utils/ClassUtils.emtl#/0"/>
- <imports href="CppIncludeUtils.emtl#/0"/>
- <imports href="../preferences/CppCodeGenUtils.emtl#/0"/>
- <imports href="Constants.emtl#/0"/>
- <imports href="util/CppTemplates.emtl#/0"/>
- <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppBindBody" visibility="Public">
- <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="../utils/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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_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="class" referredVariable="/0/CppBindBody/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding 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="CppIncludeUtils.emtl#/0/CppIncludePreBody"/>
- <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#//Class"/>
- </argument>
- </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="Constants.emtl#/0/constIncludeHFile"/>
- <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#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#include <"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindBody/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- <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>
- </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="CppIncludeUtils.emtl#/0/CppIncludeBody"/>
- <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#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/openNS"/>
- <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#//Class"/>
- </argument>
- </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="Constants.emtl#/0/constDerivedIncludes"/>
- <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#//Class"/>
- </argument>
- </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/>
- <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#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************/
"/>
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template class "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindBody/%.23/%/templateElement">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/20/NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="<"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/18/Set(TemplateParameterSubstitution)">
- <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindBody/%.23/tb">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding/parameterSubstitution"/>
- </iterSet>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">;
"/>
- <letVariable name="templateElement">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <initExpression 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="/18/Sequence(Element)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/18/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindBody/%.23/tb">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>
- </initExpression>
- </letVariable>
- </body>
- <letVariable name="tb">
- <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="../utils/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>
- </initExpression>
- </letVariable>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/closeNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 End of "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindBody/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding body
 ************************************************************/"/>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppBindBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppBindBody"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="getTemplateBindings">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getTemplateBindings"/>
- </eAnnotations>
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullNameUC">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullNameUC"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludeBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppIncludeUtils.emtl#/0/CppIncludeBody"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludePreBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppIncludeUtils.emtl#/0/CppIncludePreBody"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getHeaderSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- <eOperations name="constIncludeHFile">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludeHFile"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constDerivedIncludes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constDerivedIncludes"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppTemplateBindingParameter">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- <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:SetType" name="Set(TemplateParameterSubstitution)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="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/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppBindBody">
- <details key="start" value="583"/>
- <details key="end" value="1598"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppBindBody/%">
- <details key="start" value="628"/>
- <details key="end" value="636"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppBindBody/%.1">
- <details key="start" value="637"/>
- <details key="end" value="652"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppBindBody/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppBindBody/%.2">
- <details key="start" value="654"/>
- <details key="end" value="737"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppBindBody/%.3">
- <details key="start" value="738"/>
- <details key="end" value="748"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppBindBody/%.3/class">
- <details key="start" value="738"/>
- <details key="end" value="743"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppBindBody/%.4">
- <details key="start" value="750"/>
- <details key="end" value="837"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppBindBody/%.5">
- <details key="start" value="838"/>
- <details key="end" value="857"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppBindBody/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppBindBody/%.6">
- <details key="start" value="859"/>
- <details key="end" value="861"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppBindBody/%.7">
- <details key="start" value="862"/>
- <details key="end" value="881"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppBindBody/%.7/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppBindBody/%.8">
- <details key="start" value="883"/>
- <details key="end" value="894"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppBindBody/%.9">
- <details key="start" value="895"/>
- <details key="end" value="917"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppBindBody/%.9/%">
- <details key="start" value="895"/>
- <details key="end" value="903"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppBindBody/%.9/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppBindBody/%.10">
- <details key="start" value="919"/>
- <details key="end" value="920"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppBindBody/%.11">
- <details key="start" value="921"/>
- <details key="end" value="931"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppBindBody/%.11/class">
- <details key="start" value="921"/>
- <details key="end" value="926"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppBindBody/%.12">
- <details key="start" value="933"/>
- <details key="end" value="934"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppBindBody/%.13">
- <details key="start" value="935"/>
- <details key="end" value="952"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppBindBody/%.13/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppBindBody/%.14">
- <details key="start" value="954"/>
- <details key="end" value="957"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppBindBody/%.15">
- <details key="start" value="958"/>
- <details key="end" value="974"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppBindBody/%.15/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppBindBody/%.16">
- <details key="start" value="976"/>
- <details key="end" value="978"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppBindBody/%.17">
- <details key="start" value="979"/>
- <details key="end" value="987"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppBindBody/%.17/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppBindBody/%.18">
- <details key="start" value="989"/>
- <details key="end" value="991"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppBindBody/%.19">
- <details key="start" value="992"/>
- <details key="end" value="1014"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppBindBody/%.19/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppBindBody/%.20">
- <details key="start" value="1016"/>
- <details key="end" value="1017"/>
- <details key="line" value="28"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppBindBody/%.21">
- <details key="start" value="1018"/>
- <details key="end" value="1050"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppBindBody/%.21/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppBindBody/%.22">
- <details key="start" value="1052"/>
- <details key="end" value="1117"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppBindBody/%.23">
- <details key="start" value="1117"/>
- <details key="end" value="1389"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppBindBody/%.23/%">
- <details key="start" value="1168"/>
- <details key="end" value="1383"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppBindBody/%.23/%/%">
- <details key="start" value="1235"/>
- <details key="end" value="1250"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppBindBody/%.23/%/%.1">
- <details key="start" value="1251"/>
- <details key="end" value="1301"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppBindBody/%.23/%/%.1/%">
- <details key="start" value="1251"/>
- <details key="end" value="1296"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppBindBody/%.23/%/%.1/%/%">
- <details key="start" value="1251"/>
- <details key="end" value="1272"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppBindBody/%.23/%/%.1/%/%/templateElement">
- <details key="start" value="1251"/>
- <details key="end" value="1266"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppBindBody/%.23/%/%.1/%/%.1">
- <details key="start" value="1283"/>
- <details key="end" value="1295"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppBindBody/%.23/%/%.2">
- <details key="start" value="1303"/>
- <details key="end" value="1304"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppBindBody/%.23/%/%.3">
- <details key="start" value="1304"/>
- <details key="end" value="1374"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppBindBody/%.23/%/%.3/%">
- <details key="start" value="1337"/>
- <details key="end" value="1366"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppBindBody/%.23/%/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppBindBody/%.23/%/%.3/%.1">
- <details key="start" value="1310"/>
- <details key="end" value="1334"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppBindBody/%.23/%/%.3/%.1/tb">
- <details key="start" value="1310"/>
- <details key="end" value="1312"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppBindBody/%.23/%/%.4">
- <details key="start" value="1374"/>
- <details key="end" value="1377"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppBindBody/%.23/%/templateElement">
- <details key="start" value="1173"/>
- <details key="end" value="1233"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppBindBody/%.23/%/templateElement/%">
- <details key="start" value="1202"/>
- <details key="end" value="1234"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppBindBody/%.23/%/templateElement/%/%">
- <details key="start" value="1202"/>
- <details key="end" value="1225"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppBindBody/%.23/%/templateElement/%/%/%">
- <details key="start" value="1202"/>
- <details key="end" value="1211"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppBindBody/%.23/%/templateElement/%/%/%/tb">
- <details key="start" value="1202"/>
- <details key="end" value="1204"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppBindBody/%.23/tb">
- <details key="start" value="1122"/>
- <details key="end" value="1166"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppBindBody/%.23/tb/%">
- <details key="start" value="1146"/>
- <details key="end" value="1167"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppBindBody/%.23/tb/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppBindBody/%.24">
- <details key="start" value="1390"/>
- <details key="end" value="1391"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppBindBody/%.25">
- <details key="start" value="1392"/>
- <details key="end" value="1401"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppBindBody/%.25/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppBindBody/%.26">
- <details key="start" value="1403"/>
- <details key="end" value="1488"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppBindBody/%.27">
- <details key="start" value="1489"/>
- <details key="end" value="1499"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppBindBody/%.27/class">
- <details key="start" value="1489"/>
- <details key="end" value="1494"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppBindBody/%.28">
- <details key="start" value="1501"/>
- <details key="end" value="1586"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppBindBody/class">
- <details key="start" value="612"/>
- <details key="end" value="625"/>
- <details key="line" value="11"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppBindBody" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppBindBody" endHeaderPosition="60"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../utils/CppGenUtils.emtl#/0"/> + <imports href="../utils/ClassUtils.emtl#/0"/> + <imports href="CppIncludeUtils.emtl#/0"/> + <imports href="../preferences/CppCodeGenUtils.emtl#/0"/> + <imports href="Constants.emtl#/0"/> + <imports href="util/CppTemplates.emtl#/0"/> + <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppBindBody" visibility="Public"> + <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"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_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="class" referredVariable="/0/CppBindBody/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding 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="CppIncludeUtils.emtl#/0/CppIncludePreBody"/> + <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#//Class"/> + </argument> + </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="Constants.emtl#/0/constIncludeHFile"/> + <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#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#include <"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <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#//Class"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindBody/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <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> + </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="CppIncludeUtils.emtl#/0/CppIncludeBody"/> + <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#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/openNS"/> + <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#//Class"/> + </argument> + </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="Constants.emtl#/0/constDerivedIncludes"/> + <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#//Class"/> + </argument> + </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> + <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#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************/
"/> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template class "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindBody/%.23/%/templateElement"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/20/NamedElement"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="<"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </argument> + </body> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/18/Set(TemplateParameterSubstitution)"> + <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindBody/%.23/tb"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding/parameterSubstitution"/> + </iterSet> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">;
"/> + <letVariable name="templateElement"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <initExpression 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="/18/Sequence(Element)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/18/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindBody/%.23/tb"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> + </initExpression> + </letVariable> + </body> + <letVariable name="tb"> + <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"/> + <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> + </initExpression> + </letVariable> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/closeNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 End of "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindBody/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding body
 ************************************************************/"/> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppBindBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppBindBody"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eParameters> + </eOperations> + <eOperations name="getTemplateBindings"> + <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/getTemplateBindings"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eParameters> + </eOperations> + <eOperations name="getFullNameUC"> + <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/getFullNameUC"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludeBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppIncludeUtils.emtl#/0/CppIncludeBody"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludePreBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppIncludeUtils.emtl#/0/CppIncludePreBody"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getHeaderSuffix"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + <eOperations name="constIncludeHFile"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludeHFile"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constDerivedIncludes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constDerivedIncludes"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="CppTemplateBindingParameter"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="tps"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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="TemplateParameterSubstitution_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + <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:SetType" name="Set(TemplateParameterSubstitution)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="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/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppBindBody"> + <details key="start" value="637"/> + <details key="end" value="1652"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppBindBody/%"> + <details key="start" value="682"/> + <details key="end" value="690"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppBindBody/%.1"> + <details key="start" value="691"/> + <details key="end" value="706"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppBindBody/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppBindBody/%.2"> + <details key="start" value="708"/> + <details key="end" value="791"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppBindBody/%.3"> + <details key="start" value="792"/> + <details key="end" value="802"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppBindBody/%.3/class"> + <details key="start" value="792"/> + <details key="end" value="797"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppBindBody/%.4"> + <details key="start" value="804"/> + <details key="end" value="891"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppBindBody/%.5"> + <details key="start" value="892"/> + <details key="end" value="911"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppBindBody/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppBindBody/%.6"> + <details key="start" value="913"/> + <details key="end" value="915"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppBindBody/%.7"> + <details key="start" value="916"/> + <details key="end" value="935"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppBindBody/%.7/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppBindBody/%.8"> + <details key="start" value="937"/> + <details key="end" value="948"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppBindBody/%.9"> + <details key="start" value="949"/> + <details key="end" value="971"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppBindBody/%.9/%"> + <details key="start" value="949"/> + <details key="end" value="957"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppBindBody/%.9/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppBindBody/%.10"> + <details key="start" value="973"/> + <details key="end" value="974"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppBindBody/%.11"> + <details key="start" value="975"/> + <details key="end" value="985"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppBindBody/%.11/class"> + <details key="start" value="975"/> + <details key="end" value="980"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppBindBody/%.12"> + <details key="start" value="987"/> + <details key="end" value="988"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppBindBody/%.13"> + <details key="start" value="989"/> + <details key="end" value="1006"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppBindBody/%.13/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppBindBody/%.14"> + <details key="start" value="1008"/> + <details key="end" value="1011"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppBindBody/%.15"> + <details key="start" value="1012"/> + <details key="end" value="1028"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppBindBody/%.15/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppBindBody/%.16"> + <details key="start" value="1030"/> + <details key="end" value="1032"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppBindBody/%.17"> + <details key="start" value="1033"/> + <details key="end" value="1041"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppBindBody/%.17/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppBindBody/%.18"> + <details key="start" value="1043"/> + <details key="end" value="1045"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppBindBody/%.19"> + <details key="start" value="1046"/> + <details key="end" value="1068"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppBindBody/%.19/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppBindBody/%.20"> + <details key="start" value="1070"/> + <details key="end" value="1071"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppBindBody/%.21"> + <details key="start" value="1072"/> + <details key="end" value="1104"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppBindBody/%.21/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppBindBody/%.22"> + <details key="start" value="1106"/> + <details key="end" value="1171"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppBindBody/%.23"> + <details key="start" value="1171"/> + <details key="end" value="1443"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppBindBody/%.23/%"> + <details key="start" value="1222"/> + <details key="end" value="1437"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppBindBody/%.23/%/%"> + <details key="start" value="1289"/> + <details key="end" value="1304"/> + <details key="line" value="34"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppBindBody/%.23/%/%.1"> + <details key="start" value="1305"/> + <details key="end" value="1355"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppBindBody/%.23/%/%.1/%"> + <details key="start" value="1305"/> + <details key="end" value="1350"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppBindBody/%.23/%/%.1/%/%"> + <details key="start" value="1305"/> + <details key="end" value="1326"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppBindBody/%.23/%/%.1/%/%/templateElement"> + <details key="start" value="1305"/> + <details key="end" value="1320"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppBindBody/%.23/%/%.1/%/%.1"> + <details key="start" value="1337"/> + <details key="end" value="1349"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppBindBody/%.23/%/%.2"> + <details key="start" value="1357"/> + <details key="end" value="1358"/> + <details key="line" value="34"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppBindBody/%.23/%/%.3"> + <details key="start" value="1358"/> + <details key="end" value="1428"/> + <details key="line" value="34"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppBindBody/%.23/%/%.3/%"> + <details key="start" value="1391"/> + <details key="end" value="1420"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppBindBody/%.23/%/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppBindBody/%.23/%/%.3/%.1"> + <details key="start" value="1364"/> + <details key="end" value="1388"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppBindBody/%.23/%/%.3/%.1/tb"> + <details key="start" value="1364"/> + <details key="end" value="1366"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppBindBody/%.23/%/%.4"> + <details key="start" value="1428"/> + <details key="end" value="1431"/> + <details key="line" value="34"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppBindBody/%.23/%/templateElement"> + <details key="start" value="1227"/> + <details key="end" value="1287"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppBindBody/%.23/%/templateElement/%"> + <details key="start" value="1256"/> + <details key="end" value="1288"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppBindBody/%.23/%/templateElement/%/%"> + <details key="start" value="1256"/> + <details key="end" value="1279"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppBindBody/%.23/%/templateElement/%/%/%"> + <details key="start" value="1256"/> + <details key="end" value="1265"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppBindBody/%.23/%/templateElement/%/%/%/tb"> + <details key="start" value="1256"/> + <details key="end" value="1258"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppBindBody/%.23/tb"> + <details key="start" value="1176"/> + <details key="end" value="1220"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppBindBody/%.23/tb/%"> + <details key="start" value="1200"/> + <details key="end" value="1221"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppBindBody/%.23/tb/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppBindBody/%.24"> + <details key="start" value="1444"/> + <details key="end" value="1445"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppBindBody/%.25"> + <details key="start" value="1446"/> + <details key="end" value="1455"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppBindBody/%.25/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppBindBody/%.26"> + <details key="start" value="1457"/> + <details key="end" value="1542"/> + <details key="line" value="38"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppBindBody/%.27"> + <details key="start" value="1543"/> + <details key="end" value="1553"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppBindBody/%.27/class"> + <details key="start" value="1543"/> + <details key="end" value="1548"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppBindBody/%.28"> + <details key="start" value="1555"/> + <details key="end" value="1640"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppBindBody/class"> + <details key="start" value="666"/> + <details key="end" value="679"/> + <details key="line" value="12"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.mtl index a5c2d6f9a17..6189ff939f6 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.mtl @@ -1,5 +1,6 @@ [module CppBindBody('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::ClassUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils/] [import org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl index 86261eab2e8..ece9822b964 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 @@ -1,874 +1,875 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppBindHeader" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppBindHeader" endHeaderPosition="62">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../utils/GenUtils.emtl#/0"/>
- <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/>
- <imports href="util/CppTemplates.emtl#/0"/>
- <imports href="../preferences/CppCodeGenUtils.emtl#/0"/>
- <imports href="CppIncludeUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppBindHeader" 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="../utils/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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H
#define "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H

/************************************************************
 "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindHeader/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding header
 ************************************************************/

"/>
- <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/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="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/>
- </argument>
- </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <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="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
- <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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/>
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindHeader/%.13/%/templateElement">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/16/NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </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="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- <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#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">

"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/openNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 
/************************************************************/
typedef "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindHeader/%.13/%/templateElement">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/16/NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="<"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/>
- <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#//TemplateParameterSubstitution"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/13/Set(TemplateParameterSubstitution)">
- <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindHeader/%.13/tb">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding/parameterSubstitution"/>
- </iterSet>
- </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="class" referredVariable="/0/CppBindHeader/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";

"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/closeNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <letVariable name="templateElement">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <initExpression 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="/13/Sequence(Element)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/13/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindHeader/%.13/tb">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>
- </initExpression>
- </letVariable>
- </body>
- <letVariable name="tb">
- <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="../utils/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>
- </initExpression>
- </letVariable>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
/************************************************************
 End of "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindHeader/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding header
 ************************************************************/

#endif"/>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppBindHeader">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppBindHeader"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="getTemplateBindings">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getTemplateBindings"/>
- </eAnnotations>
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullNameUC">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullNameUC"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOwnerPackageIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppTemplateBindingParameter">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eParameters>
- </eOperations>
- <eOperations name="getHeaderSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- <eOperations name="CppIncludeHeader">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- <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:SetType" name="Set(TemplateParameterSubstitution)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="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/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppBindHeader">
- <details key="start" value="454"/>
- <details key="end" value="1535"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppBindHeader/%">
- <details key="start" value="502"/>
- <details key="end" value="510"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppBindHeader/%.1">
- <details key="start" value="511"/>
- <details key="end" value="526"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppBindHeader/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppBindHeader/%.2">
- <details key="start" value="528"/>
- <details key="end" value="539"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppBindHeader/%.3">
- <details key="start" value="540"/>
- <details key="end" value="555"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppBindHeader/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppBindHeader/%.4">
- <details key="start" value="557"/>
- <details key="end" value="637"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppBindHeader/%.5">
- <details key="start" value="638"/>
- <details key="end" value="648"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppBindHeader/%.5/class">
- <details key="start" value="638"/>
- <details key="end" value="643"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppBindHeader/%.6">
- <details key="start" value="650"/>
- <details key="end" value="739"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppBindHeader/%.7">
- <details key="start" value="740"/>
- <details key="end" value="784"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppBindHeader/%.7/%">
- <details key="start" value="740"/>
- <details key="end" value="748"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppBindHeader/%.7/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppBindHeader/%.8">
- <details key="start" value="786"/>
- <details key="end" value="788"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppBindHeader/%.9">
- <details key="start" value="789"/>
- <details key="end" value="821"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppBindHeader/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppBindHeader/%.10">
- <details key="start" value="823"/>
- <details key="end" value="825"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppBindHeader/%.11">
- <details key="start" value="826"/>
- <details key="end" value="844"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppBindHeader/%.11/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppBindHeader/%.12">
- <details key="start" value="846"/>
- <details key="end" value="848"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppBindHeader/%.13">
- <details key="start" value="848"/>
- <details key="end" value="1330"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppBindHeader/%.13/%">
- <details key="start" value="899"/>
- <details key="end" value="1324"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppBindHeader/%.13/%/%">
- <details key="start" value="966"/>
- <details key="end" value="976"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppBindHeader/%.13/%/%.1">
- <details key="start" value="977"/>
- <details key="end" value="999"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppBindHeader/%.13/%/%.1/%">
- <details key="start" value="977"/>
- <details key="end" value="985"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppBindHeader/%.13/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppBindHeader/%.13/%/%.2">
- <details key="start" value="1001"/>
- <details key="end" value="1002"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppBindHeader/%.13/%/%.3">
- <details key="start" value="1003"/>
- <details key="end" value="1053"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppBindHeader/%.13/%/%.3/%">
- <details key="start" value="1003"/>
- <details key="end" value="1048"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppBindHeader/%.13/%/%.3/%/%">
- <details key="start" value="1003"/>
- <details key="end" value="1024"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppBindHeader/%.13/%/%.3/%/%/templateElement">
- <details key="start" value="1003"/>
- <details key="end" value="1018"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppBindHeader/%.13/%/%.3/%/%.1">
- <details key="start" value="1035"/>
- <details key="end" value="1047"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppBindHeader/%.13/%/%.4">
- <details key="start" value="1055"/>
- <details key="end" value="1056"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppBindHeader/%.13/%/%.5">
- <details key="start" value="1057"/>
- <details key="end" value="1074"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppBindHeader/%.13/%/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppBindHeader/%.13/%/%.6">
- <details key="start" value="1076"/>
- <details key="end" value="1079"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppBindHeader/%.13/%/%.7">
- <details key="start" value="1080"/>
- <details key="end" value="1088"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppBindHeader/%.13/%/%.7/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppBindHeader/%.13/%/%.8">
- <details key="start" value="1090"/>
- <details key="end" value="1163"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppBindHeader/%.13/%/%.9">
- <details key="start" value="1164"/>
- <details key="end" value="1214"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppBindHeader/%.13/%/%.9/%">
- <details key="start" value="1164"/>
- <details key="end" value="1209"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppBindHeader/%.13/%/%.9/%/%">
- <details key="start" value="1164"/>
- <details key="end" value="1185"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppBindHeader/%.13/%/%.9/%/%/templateElement">
- <details key="start" value="1164"/>
- <details key="end" value="1179"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppBindHeader/%.13/%/%.9/%/%.1">
- <details key="start" value="1196"/>
- <details key="end" value="1208"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppBindHeader/%.13/%/%.10">
- <details key="start" value="1216"/>
- <details key="end" value="1217"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppBindHeader/%.13/%/%.11">
- <details key="start" value="1217"/>
- <details key="end" value="1287"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppBindHeader/%.13/%/%.11/%">
- <details key="start" value="1250"/>
- <details key="end" value="1279"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppBindHeader/%.13/%/%.11/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppBindHeader/%.13/%/%.11/%.1">
- <details key="start" value="1223"/>
- <details key="end" value="1247"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppBindHeader/%.13/%/%.11/%.1/tb">
- <details key="start" value="1223"/>
- <details key="end" value="1225"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppBindHeader/%.13/%/%.12">
- <details key="start" value="1287"/>
- <details key="end" value="1289"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppBindHeader/%.13/%/%.13">
- <details key="start" value="1290"/>
- <details key="end" value="1300"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppBindHeader/%.13/%/%.13/class">
- <details key="start" value="1290"/>
- <details key="end" value="1295"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppBindHeader/%.13/%/%.14">
- <details key="start" value="1302"/>
- <details key="end" value="1305"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppBindHeader/%.13/%/%.15">
- <details key="start" value="1306"/>
- <details key="end" value="1315"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppBindHeader/%.13/%/%.15/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppBindHeader/%.13/%/%.16">
- <details key="start" value="1317"/>
- <details key="end" value="1318"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppBindHeader/%.13/%/templateElement">
- <details key="start" value="904"/>
- <details key="end" value="964"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppBindHeader/%.13/%/templateElement/%">
- <details key="start" value="933"/>
- <details key="end" value="965"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppBindHeader/%.13/%/templateElement/%/%">
- <details key="start" value="933"/>
- <details key="end" value="956"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppBindHeader/%.13/%/templateElement/%/%/%">
- <details key="start" value="933"/>
- <details key="end" value="942"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppBindHeader/%.13/%/templateElement/%/%/%/tb">
- <details key="start" value="933"/>
- <details key="end" value="935"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppBindHeader/%.13/tb">
- <details key="start" value="853"/>
- <details key="end" value="897"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppBindHeader/%.13/tb/%">
- <details key="start" value="877"/>
- <details key="end" value="898"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppBindHeader/%.13/tb/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppBindHeader/%.14">
- <details key="start" value="1331"/>
- <details key="end" value="1415"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppBindHeader/%.15">
- <details key="start" value="1416"/>
- <details key="end" value="1426"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppBindHeader/%.15/class">
- <details key="start" value="1416"/>
- <details key="end" value="1421"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppBindHeader/%.16">
- <details key="start" value="1428"/>
- <details key="end" value="1523"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppBindHeader/class">
- <details key="start" value="485"/>
- <details key="end" value="498"/>
- <details key="line" value="9"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppBindHeader" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppBindHeader" endHeaderPosition="62"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../utils/CppGenUtils.emtl#/0"/> + <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> + <imports href="util/CppTemplates.emtl#/0"/> + <imports href="../preferences/CppCodeGenUtils.emtl#/0"/> + <imports href="CppIncludeUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppBindHeader" 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="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H
#define "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H

/************************************************************
 "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindHeader/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding header
 ************************************************************/

"/> + <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/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="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/> + </argument> + </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <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="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindHeader/%.13/%/templateElement"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/16/NamedElement"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </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="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <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#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">

"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/openNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 
/************************************************************/
typedef "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindHeader/%.13/%/templateElement"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/16/NamedElement"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="<"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/> + <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#//TemplateParameterSubstitution"/> + </argument> + </body> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/13/Set(TemplateParameterSubstitution)"> + <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindHeader/%.13/tb"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding/parameterSubstitution"/> + </iterSet> + </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="class" referredVariable="/0/CppBindHeader/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";

"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/closeNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <letVariable name="templateElement"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <initExpression 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="/13/Sequence(Element)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/13/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindHeader/%.13/tb"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> + </initExpression> + </letVariable> + </body> + <letVariable name="tb"> + <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"/> + <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> + </initExpression> + </letVariable> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
/************************************************************
 End of "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppBindHeader/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding header
 ************************************************************/

#endif"/> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppBindHeader"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppBindHeader"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eParameters> + </eOperations> + <eOperations name="getTemplateBindings"> + <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/getTemplateBindings"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eParameters> + </eOperations> + <eOperations name="getFullNameUC"> + <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/getFullNameUC"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppOwnerPackageIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppTemplateBindingParameter"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/CppTemplates.emtl#/0/CppTemplateBindingParameter"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="tps"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eParameters> + </eOperations> + <eOperations name="getHeaderSuffix"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + <eOperations name="CppIncludeHeader"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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="TemplateParameterSubstitution_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + <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:SetType" name="Set(TemplateParameterSubstitution)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="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/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppBindHeader"> + <details key="start" value="508"/> + <details key="end" value="1589"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppBindHeader/%"> + <details key="start" value="556"/> + <details key="end" value="564"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppBindHeader/%.1"> + <details key="start" value="565"/> + <details key="end" value="580"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppBindHeader/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppBindHeader/%.2"> + <details key="start" value="582"/> + <details key="end" value="593"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppBindHeader/%.3"> + <details key="start" value="594"/> + <details key="end" value="609"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppBindHeader/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppBindHeader/%.4"> + <details key="start" value="611"/> + <details key="end" value="691"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppBindHeader/%.5"> + <details key="start" value="692"/> + <details key="end" value="702"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppBindHeader/%.5/class"> + <details key="start" value="692"/> + <details key="end" value="697"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppBindHeader/%.6"> + <details key="start" value="704"/> + <details key="end" value="793"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppBindHeader/%.7"> + <details key="start" value="794"/> + <details key="end" value="838"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppBindHeader/%.7/%"> + <details key="start" value="794"/> + <details key="end" value="802"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppBindHeader/%.7/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppBindHeader/%.8"> + <details key="start" value="840"/> + <details key="end" value="842"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppBindHeader/%.9"> + <details key="start" value="843"/> + <details key="end" value="875"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppBindHeader/%.9/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppBindHeader/%.10"> + <details key="start" value="877"/> + <details key="end" value="879"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppBindHeader/%.11"> + <details key="start" value="880"/> + <details key="end" value="898"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppBindHeader/%.11/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppBindHeader/%.12"> + <details key="start" value="900"/> + <details key="end" value="902"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppBindHeader/%.13"> + <details key="start" value="902"/> + <details key="end" value="1384"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppBindHeader/%.13/%"> + <details key="start" value="953"/> + <details key="end" value="1378"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppBindHeader/%.13/%/%"> + <details key="start" value="1020"/> + <details key="end" value="1030"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppBindHeader/%.13/%/%.1"> + <details key="start" value="1031"/> + <details key="end" value="1053"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppBindHeader/%.13/%/%.1/%"> + <details key="start" value="1031"/> + <details key="end" value="1039"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppBindHeader/%.13/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppBindHeader/%.13/%/%.2"> + <details key="start" value="1055"/> + <details key="end" value="1056"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppBindHeader/%.13/%/%.3"> + <details key="start" value="1057"/> + <details key="end" value="1107"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppBindHeader/%.13/%/%.3/%"> + <details key="start" value="1057"/> + <details key="end" value="1102"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppBindHeader/%.13/%/%.3/%/%"> + <details key="start" value="1057"/> + <details key="end" value="1078"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppBindHeader/%.13/%/%.3/%/%/templateElement"> + <details key="start" value="1057"/> + <details key="end" value="1072"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppBindHeader/%.13/%/%.3/%/%.1"> + <details key="start" value="1089"/> + <details key="end" value="1101"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppBindHeader/%.13/%/%.4"> + <details key="start" value="1109"/> + <details key="end" value="1110"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppBindHeader/%.13/%/%.5"> + <details key="start" value="1111"/> + <details key="end" value="1128"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppBindHeader/%.13/%/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppBindHeader/%.13/%/%.6"> + <details key="start" value="1130"/> + <details key="end" value="1133"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppBindHeader/%.13/%/%.7"> + <details key="start" value="1134"/> + <details key="end" value="1142"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppBindHeader/%.13/%/%.7/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppBindHeader/%.13/%/%.8"> + <details key="start" value="1144"/> + <details key="end" value="1217"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppBindHeader/%.13/%/%.9"> + <details key="start" value="1218"/> + <details key="end" value="1268"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppBindHeader/%.13/%/%.9/%"> + <details key="start" value="1218"/> + <details key="end" value="1263"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppBindHeader/%.13/%/%.9/%/%"> + <details key="start" value="1218"/> + <details key="end" value="1239"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppBindHeader/%.13/%/%.9/%/%/templateElement"> + <details key="start" value="1218"/> + <details key="end" value="1233"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppBindHeader/%.13/%/%.9/%/%.1"> + <details key="start" value="1250"/> + <details key="end" value="1262"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppBindHeader/%.13/%/%.10"> + <details key="start" value="1270"/> + <details key="end" value="1271"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppBindHeader/%.13/%/%.11"> + <details key="start" value="1271"/> + <details key="end" value="1341"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppBindHeader/%.13/%/%.11/%"> + <details key="start" value="1304"/> + <details key="end" value="1333"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppBindHeader/%.13/%/%.11/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppBindHeader/%.13/%/%.11/%.1"> + <details key="start" value="1277"/> + <details key="end" value="1301"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppBindHeader/%.13/%/%.11/%.1/tb"> + <details key="start" value="1277"/> + <details key="end" value="1279"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppBindHeader/%.13/%/%.12"> + <details key="start" value="1341"/> + <details key="end" value="1343"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppBindHeader/%.13/%/%.13"> + <details key="start" value="1344"/> + <details key="end" value="1354"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppBindHeader/%.13/%/%.13/class"> + <details key="start" value="1344"/> + <details key="end" value="1349"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppBindHeader/%.13/%/%.14"> + <details key="start" value="1356"/> + <details key="end" value="1359"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppBindHeader/%.13/%/%.15"> + <details key="start" value="1360"/> + <details key="end" value="1369"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppBindHeader/%.13/%/%.15/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppBindHeader/%.13/%/%.16"> + <details key="start" value="1371"/> + <details key="end" value="1372"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppBindHeader/%.13/%/templateElement"> + <details key="start" value="958"/> + <details key="end" value="1018"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppBindHeader/%.13/%/templateElement/%"> + <details key="start" value="987"/> + <details key="end" value="1019"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppBindHeader/%.13/%/templateElement/%/%"> + <details key="start" value="987"/> + <details key="end" value="1010"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppBindHeader/%.13/%/templateElement/%/%/%"> + <details key="start" value="987"/> + <details key="end" value="996"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppBindHeader/%.13/%/templateElement/%/%/%/tb"> + <details key="start" value="987"/> + <details key="end" value="989"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppBindHeader/%.13/tb"> + <details key="start" value="907"/> + <details key="end" value="951"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppBindHeader/%.13/tb/%"> + <details key="start" value="931"/> + <details key="end" value="952"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppBindHeader/%.13/tb/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppBindHeader/%.14"> + <details key="start" value="1385"/> + <details key="end" value="1469"/> + <details key="line" value="34"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppBindHeader/%.15"> + <details key="start" value="1470"/> + <details key="end" value="1480"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppBindHeader/%.15/class"> + <details key="start" value="1470"/> + <details key="end" value="1475"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/CppBindHeader/%.16"> + <details key="start" value="1482"/> + <details key="end" value="1577"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/CppBindHeader/class"> + <details key="start" value="539"/> + <details key="end" value="552"/> + <details key="line" value="10"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.mtl index 3277519319a..5621eb69af6 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.mtl @@ -1,5 +1,6 @@ [module CppBindHeader('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates/] [import org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl index 4e34ec39f98..09b8d1227ae 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 @@ -1,738 +1,739 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassBody" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppClassBody" endHeaderPosition="61">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../utils/GenUtils.emtl#/0"/>
- <imports href="../utils/ClassUtils.emtl#/0"/>
- <imports href="Constants.emtl#/0"/>
- <imports href="CppIncludeUtils.emtl#/0"/>
- <imports href="../preferences/CppCodeGenUtils.emtl#/0"/>
- <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/>
- <imports href="util/clazz/CppClassOperationsImplementation.emtl#/0"/>
- <imports href="util/CppAttribute.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassBody" visibility="Public">
- <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="../utils/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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_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="class" referredVariable="/0/CppClassBody/class">
- <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>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class 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="CppIncludeUtils.emtl#/0/CppIncludePreBody"/>
- <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#//Classifier"/>
- </argument>
- </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="Constants.emtl#/0/constIncludeHFile"/>
- <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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#include <"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/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">
- <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"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class">
- <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>
- <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="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- <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>
- </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="CppIncludeUtils.emtl#/0/CppIncludeBody"/>
- <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#//Classifier"/>
- </argument>
- </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="Constants.emtl#/0/constDerivedIncludes"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclarationBody"/>
- <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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/openNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="util/CppAttribute.emtl#/0/CppStaticAttributes"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </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="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateableElement/isTemplate"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </ifExpr>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/closeNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class">
- <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="

/************************************************************
 End of "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class">
- <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>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class body
 ************************************************************/"/>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassBody"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeHFile">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludeHFile"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constDerivedIncludes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constDerivedIncludes"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludeBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppIncludeUtils.emtl#/0/CppIncludeBody"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludePreBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppIncludeUtils.emtl#/0/CppIncludePreBody"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getHeaderSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclarationBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclarationBody"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassOperationsImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppStaticAttributes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/CppAttribute.emtl#/0/CppStaticAttributes"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="classifier">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Property_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassBody">
- <details key="start" value="686"/>
- <details key="end" value="1460"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassBody/%">
- <details key="start" value="737"/>
- <details key="end" value="745"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassBody/%.1">
- <details key="start" value="746"/>
- <details key="end" value="759"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassBody/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassBody/%.2">
- <details key="start" value="761"/>
- <details key="end" value="844"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassBody/%.3">
- <details key="start" value="845"/>
- <details key="end" value="855"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassBody/%.3/class">
- <details key="start" value="845"/>
- <details key="end" value="850"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassBody/%.4">
- <details key="start" value="857"/>
- <details key="end" value="933"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassBody/%.5">
- <details key="start" value="934"/>
- <details key="end" value="953"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassBody/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassBody/%.6">
- <details key="start" value="955"/>
- <details key="end" value="957"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassBody/%.7">
- <details key="start" value="958"/>
- <details key="end" value="977"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassBody/%.7/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassBody/%.8">
- <details key="start" value="979"/>
- <details key="end" value="990"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassBody/%.9">
- <details key="start" value="991"/>
- <details key="end" value="1013"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassBody/%.9/%">
- <details key="start" value="991"/>
- <details key="end" value="999"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassBody/%.9/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppClassBody/%.10">
- <details key="start" value="1015"/>
- <details key="end" value="1016"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppClassBody/%.11">
- <details key="start" value="1017"/>
- <details key="end" value="1027"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppClassBody/%.11/class">
- <details key="start" value="1017"/>
- <details key="end" value="1022"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppClassBody/%.12">
- <details key="start" value="1029"/>
- <details key="end" value="1030"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppClassBody/%.13">
- <details key="start" value="1031"/>
- <details key="end" value="1048"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppClassBody/%.13/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppClassBody/%.14">
- <details key="start" value="1050"/>
- <details key="end" value="1053"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppClassBody/%.15">
- <details key="start" value="1054"/>
- <details key="end" value="1070"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppClassBody/%.15/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppClassBody/%.16">
- <details key="start" value="1072"/>
- <details key="end" value="1074"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppClassBody/%.17">
- <details key="start" value="1075"/>
- <details key="end" value="1097"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppClassBody/%.17/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppClassBody/%.18">
- <details key="start" value="1099"/>
- <details key="end" value="1100"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppClassBody/%.19">
- <details key="start" value="1101"/>
- <details key="end" value="1137"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppClassBody/%.19/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppClassBody/%.20">
- <details key="start" value="1139"/>
- <details key="end" value="1141"/>
- <details key="line" value="28"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppClassBody/%.21">
- <details key="start" value="1142"/>
- <details key="end" value="1155"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppClassBody/%.21/class">
- <details key="start" value="1149"/>
- <details key="end" value="1154"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppClassBody/%.22">
- <details key="start" value="1157"/>
- <details key="end" value="1158"/>
- <details key="line" value="30"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassBody/%.23">
- <details key="start" value="1159"/>
- <details key="end" value="1185"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassBody/%.23/class">
- <details key="start" value="1179"/>
- <details key="end" value="1184"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassBody/%.24">
- <details key="start" value="1187"/>
- <details key="end" value="1188"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassBody/%.25">
- <details key="start" value="1188"/>
- <details key="end" value="1258"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassBody/%.25/%">
- <details key="start" value="1211"/>
- <details key="end" value="1250"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassBody/%.25/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppClassBody/%.25/%/%">
- <details key="start" value="1244"/>
- <details key="end" value="1249"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppClassBody/%.25/%.1">
- <details key="start" value="1252"/>
- <details key="end" value="1253"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppClassBody/%.25/%.2">
- <details key="start" value="1192"/>
- <details key="end" value="1208"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppClassBody/%.25/%.2/%">
- <details key="start" value="1196"/>
- <details key="end" value="1208"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassBody/%.25/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassBody/%.26">
- <details key="start" value="1260"/>
- <details key="end" value="1274"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassBody/%.26/class">
- <details key="start" value="1268"/>
- <details key="end" value="1273"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassBody/%.27">
- <details key="start" value="1276"/>
- <details key="end" value="1361"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassBody/%.28">
- <details key="start" value="1362"/>
- <details key="end" value="1372"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassBody/%.28/class">
- <details key="start" value="1362"/>
- <details key="end" value="1367"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassBody/%.29">
- <details key="start" value="1374"/>
- <details key="end" value="1448"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassBody/class">
- <details key="start" value="716"/>
- <details key="end" value="734"/>
- <details key="line" value="12"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassBody" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppClassBody" endHeaderPosition="61"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../utils/CppGenUtils.emtl#/0"/> + <imports href="../utils/ClassUtils.emtl#/0"/> + <imports href="Constants.emtl#/0"/> + <imports href="CppIncludeUtils.emtl#/0"/> + <imports href="../preferences/CppCodeGenUtils.emtl#/0"/> + <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> + <imports href="util/clazz/CppClassOperationsImplementation.emtl#/0"/> + <imports href="util/CppAttribute.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassBody" visibility="Public"> + <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"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_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="class" referredVariable="/0/CppClassBody/class"> + <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> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class 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="CppIncludeUtils.emtl#/0/CppIncludePreBody"/> + <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#//Classifier"/> + </argument> + </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="Constants.emtl#/0/constIncludeHFile"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#include <"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <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"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class"> + <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> + <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="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <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> + </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="CppIncludeUtils.emtl#/0/CppIncludeBody"/> + <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#//Classifier"/> + </argument> + </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="Constants.emtl#/0/constDerivedIncludes"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclarationBody"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/openNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/CppAttribute.emtl#/0/CppStaticAttributes"/> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </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="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateableElement/isTemplate"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </ifExpr> + </body> + <body xsi:type="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="class" referredVariable="/0/CppClassBody/class"> + <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="

/************************************************************
 End of "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassBody/class"> + <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> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class body
 ************************************************************/"/> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassBody"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getFullName"> + <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/getFullName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeHFile"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludeHFile"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constDerivedIncludes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constDerivedIncludes"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludeBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppIncludeUtils.emtl#/0/CppIncludeBody"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludePreBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppIncludeUtils.emtl#/0/CppIncludePreBody"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getHeaderSuffix"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + <eOperations name="CppClassAllIncludesDeclarationBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclarationBody"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassOperationsImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> + <eOperations name="CppStaticAttributes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/CppAttribute.emtl#/0/CppStaticAttributes"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Property_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassBody"> + <details key="start" value="740"/> + <details key="end" value="1514"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassBody/%"> + <details key="start" value="791"/> + <details key="end" value="799"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassBody/%.1"> + <details key="start" value="800"/> + <details key="end" value="813"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassBody/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassBody/%.2"> + <details key="start" value="815"/> + <details key="end" value="898"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassBody/%.3"> + <details key="start" value="899"/> + <details key="end" value="909"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassBody/%.3/class"> + <details key="start" value="899"/> + <details key="end" value="904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassBody/%.4"> + <details key="start" value="911"/> + <details key="end" value="987"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassBody/%.5"> + <details key="start" value="988"/> + <details key="end" value="1007"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassBody/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassBody/%.6"> + <details key="start" value="1009"/> + <details key="end" value="1011"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassBody/%.7"> + <details key="start" value="1012"/> + <details key="end" value="1031"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassBody/%.7/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassBody/%.8"> + <details key="start" value="1033"/> + <details key="end" value="1044"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassBody/%.9"> + <details key="start" value="1045"/> + <details key="end" value="1067"/> + <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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassBody/%.9/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <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="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppClassBody/%.11"> + <details key="start" value="1071"/> + <details key="end" value="1081"/> + <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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppClassBody/%.12"> + <details key="start" value="1083"/> + <details key="end" value="1084"/> + <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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppClassBody/%.13/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <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="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppClassBody/%.15"> + <details key="start" value="1108"/> + <details key="end" value="1124"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppClassBody/%.15/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <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="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppClassBody/%.17"> + <details key="start" value="1129"/> + <details key="end" value="1151"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppClassBody/%.17/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <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="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppClassBody/%.19"> + <details key="start" value="1155"/> + <details key="end" value="1191"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppClassBody/%.19/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <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="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppClassBody/%.21"> + <details key="start" value="1196"/> + <details key="end" value="1209"/> + <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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppClassBody/%.22"> + <details key="start" value="1211"/> + <details key="end" value="1212"/> + <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="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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassBody/%.24"> + <details key="start" value="1241"/> + <details key="end" value="1242"/> + <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="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassBody/%.25/%"> + <details key="start" value="1265"/> + <details key="end" value="1304"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassBody/%.25/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <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="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="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="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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassBody/%.25/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <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="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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassBody/%.27"> + <details key="start" value="1330"/> + <details key="end" value="1415"/> + <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="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="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassBody/%.29"> + <details key="start" value="1428"/> + <details key="end" value="1502"/> + <details key="line" value="38"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassBody/class"> + <details key="start" value="770"/> + <details key="end" value="788"/> + <details key="line" value="13"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> 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 cf80c016c20..5adbcc9bc17 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 @@ -1,5 +1,6 @@ [module CppClassBody('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::ClassUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::Constants/] [import org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils/] 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 3ded2d99813..6af80b75a42 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 @@ -1,1729 +1,1733 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassHeader" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppClassHeader" endHeaderPosition="63">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../utils/GenUtils.emtl#/0"/>
- <imports href="../utils/ClassUtils.emtl#/0"/>
- <imports href="Constants.emtl#/0"/>
- <imports href="CppIncludeUtils.emtl#/0"/>
- <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/>
- <imports href="util/clazz/CppClassTypeAndEnum.emtl#/0"/>
- <imports href="util/clazz/CppClassFriendDeclaration.emtl#/0"/>
- <imports href="util/clazz/CppClassInheritedDeclarations.emtl#/0"/>
- <imports href="util/clazz/CppClassAttributesDeclaration.emtl#/0"/>
- <imports href="util/clazz/CppClassOperationsDeclaration.emtl#/0"/>
- <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">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/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"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="1374" endPosition="1542" value=" default initializer for non-static attributes with a default value
TODO: should be disabled by default, since non-static members can be initialized directly
in C++ 011"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="defaultInitializer" visibility="Public">
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/defaultInitializer/classifier">
- <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>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="() : "/>
- <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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/>
- <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"/>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {}
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/11/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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/>
- </source>
- <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>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/>
- </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/String_Class/%3C%3E"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </iterator>
- </initExpression>
- </letVariable>
- </body>
- <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">
- <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">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </source>
- </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="../utils/GenUtils.emtl#/0/getFullNameUC"/>
- <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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H
#define "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/getFullNameUC"/>
- <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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H

/************************************************************
 "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassHeader/class">
- <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>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class header
 ************************************************************/

"/>
- <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/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">
- <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"/>
- </argument>
- </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </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="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
- <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="

"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/openNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 

/************************************************************/
"/>
- <body xsi:type="mtl: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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl: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">
- <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">
- <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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassHeader/class">
- <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>
- <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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
"/>
- <body xsi:type="mtl: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">
- <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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 public:
"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer">
- <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"/>
- </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/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>
- <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="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="/42">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 protected:
"/>
- <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="/43">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/>
- </argument>
- </body>
- <body xsi:type="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="/44">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 private:
"/>
- <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="/45">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/>
- </argument>
- </body>
- <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="/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/private"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

};
/************************************************************/
/* External declarations (package visibility) */
"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47">
- <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/package"/>
- </argument>
- </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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/>
- <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/package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
/************************************************************/

"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/************************************************************/
/* Template functions */
"/>
- <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">
- <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">
- <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="
"/>
- <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">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
/* Inline functions */
"/>
- <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">
- <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">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/closeNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 End of "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassHeader/class">
- <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>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class header
 ************************************************************/

#endif"/>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- <eOperations name="trim">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="classUnionOrStruct">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/classUnionOrStruct"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="classifier">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="defaultInitializer">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/defaultInitializer"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="classifier">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassHeader">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassHeader"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullNameUC">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullNameUC"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludeHeader">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOwnerPackageIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassTypeAndEnum">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnum"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeFriendDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassFriendDeclaration.emtl#/0/CppClassIncludeFriendDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassInheritedDeclarations">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassInheritedDeclarations.emtl#/0/CppClassInheritedDeclarations"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAttributesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassOperationsDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassOperationsImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="isTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/CppTemplates.emtl#/0/isTemplate"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/CppTemplates.emtl#/0/templateSignature"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/CppDocumentation.emtl#/0/CppElementDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Relationship_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//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"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="DataType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="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>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/classUnionOrStruct">
- <details key="start" value="1173"/>
- <details key="end" value="1364"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/classUnionOrStruct/classifier">
- <details key="start" value="1206"/>
- <details key="end" value="1229"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/classUnionOrStruct/%">
- <details key="start" value="1242"/>
- <details key="end" value="1361"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/classUnionOrStruct/%/%">
- <details key="start" value="1245"/>
- <details key="end" value="1274"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/classUnionOrStruct/%/%/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="1260"/>
- <details key="end" value="1272"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/classUnionOrStruct/%/%.1">
- <details key="start" value="1280"/>
- <details key="end" value="1287"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/classUnionOrStruct/%/%.2">
- <details key="start" value="1294"/>
- <details key="end" value="1355"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/classUnionOrStruct/%/%.2/%">
- <details key="start" value="1297"/>
- <details key="end" value="1320"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/classUnionOrStruct/%/%.2/%/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="1310"/>
- <details key="end" value="1318"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/classUnionOrStruct/%/%.2/%.1">
- <details key="start" value="1326"/>
- <details key="end" value="1334"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/classUnionOrStruct/%/%.2/%.2">
- <details key="start" value="1341"/>
- <details key="end" value="1348"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/%">
- <details key="start" value="1366"/>
- <details key="end" value="1544"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/defaultInitializer">
- <details key="start" value="1545"/>
- <details key="end" value="1953"/>
- <details key="line" value="30"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/defaultInitializer/%">
- <details key="start" value="1620"/>
- <details key="end" value="1941"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/defaultInitializer/%/%">
- <details key="start" value="1769"/>
- <details key="end" value="1935"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/defaultInitializer/%/%/%">
- <details key="start" value="1803"/>
- <details key="end" value="1804"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/defaultInitializer/%/%/%.1">
- <details key="start" value="1805"/>
- <details key="end" value="1820"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/defaultInitializer/%/%/%.1/classifier">
- <details key="start" value="1805"/>
- <details key="end" value="1815"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/defaultInitializer/%/%/%.2">
- <details key="start" value="1822"/>
- <details key="end" value="1827"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/defaultInitializer/%/%/%.3">
- <details key="start" value="1827"/>
- <details key="end" value="1926"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/defaultInitializer/%/%/%.3/%">
- <details key="start" value="1883"/>
- <details key="end" value="1887"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" 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="1889"/>
- <details key="end" value="1890"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/defaultInitializer/%/%/%.3/%.2">
- <details key="start" value="1891"/>
- <details key="end" value="1917"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/defaultInitializer/%/%/%.3/%.2/%">
- <details key="start" value="1891"/>
- <details key="end" value="1903"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" 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="1919"/>
- <details key="end" value="1920"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/defaultInitializer/%/%/%.3/a">
- <details key="start" value="1833"/>
- <details key="end" value="1845"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/defaultInitializer/%/%/%.3/attributeList">
- <details key="start" value="1848"/>
- <details key="end" value="1861"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/defaultInitializer/%/%/%.3/%.4">
- <details key="start" value="1873"/>
- <details key="end" value="1877"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/defaultInitializer/%/%/%.4">
- <details key="start" value="1926"/>
- <details key="end" value="1930"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/defaultInitializer/%/%/%.5">
- <details key="start" value="1773"/>
- <details key="end" value="1801"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/defaultInitializer/%/%/%.5/%">
- <details key="start" value="1777"/>
- <details key="end" value="1801"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/defaultInitializer/%/%/%.5/%/attributeList">
- <details key="start" value="1777"/>
- <details key="end" value="1790"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/defaultInitializer/%/attributeList">
- <details key="start" value="1625"/>
- <details key="end" value="1767"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/defaultInitializer/%/attributeList/select">
- <details key="start" value="1658"/>
- <details key="end" value="1768"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/defaultInitializer/%/attributeList/select/%">
- <details key="start" value="1658"/>
- <details key="end" value="1667"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" 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="1679"/>
- <details key="end" value="1767"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/defaultInitializer/%/attributeList/select/%.1/%">
- <details key="start" value="1679"/>
- <details key="end" value="1725"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%">
- <details key="start" value="1679"/>
- <details key="end" value="1697"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%">
- <details key="start" value="1680"/>
- <details key="end" value="1688"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" 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="1691"/>
- <details key="end" value="1696"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1">
- <details key="start" value="1703"/>
- <details key="end" value="1725"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%">
- <details key="start" value="1704"/>
- <details key="end" value="1716"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" 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="1720"/>
- <details key="end" value="1724"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1">
- <details key="start" value="1731"/>
- <details key="end" value="1767"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%">
- <details key="start" value="1732"/>
- <details key="end" value="1758"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%/%">
- <details key="start" value="1732"/>
- <details key="end" value="1744"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" 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="1762"/>
- <details key="end" value="1766"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" 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="1581"/>
- <details key="end" value="1604"/>
- <details key="line" value="30"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/defaultInitializer/%.1">
- <details key="start" value="1611"/>
- <details key="end" value="1617"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" 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="1956"/>
- <details key="end" value="3822"/>
- <details key="line" value="42"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppClassHeader/%">
- <details key="start" value="2009"/>
- <details key="end" value="2017"/>
- <details key="line" value="43"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppClassHeader/%.1">
- <details key="start" value="2018"/>
- <details key="end" value="2033"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" 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="2035"/>
- <details key="end" value="2046"/>
- <details key="line" value="43"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppClassHeader/%.3">
- <details key="start" value="2047"/>
- <details key="end" value="2062"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" 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="2064"/>
- <details key="end" value="2144"/>
- <details key="line" value="44"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppClassHeader/%.5">
- <details key="start" value="2145"/>
- <details key="end" value="2155"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppClassHeader/%.5/class">
- <details key="start" value="2145"/>
- <details key="end" value="2150"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppClassHeader/%.6">
- <details key="start" value="2157"/>
- <details key="end" value="2235"/>
- <details key="line" value="47"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppClassHeader/%.7">
- <details key="start" value="2236"/>
- <details key="end" value="2280"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppClassHeader/%.7/%">
- <details key="start" value="2236"/>
- <details key="end" value="2244"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" 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="2282"/>
- <details key="end" value="2284"/>
- <details key="line" value="51"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppClassHeader/%.9">
- <details key="start" value="2285"/>
- <details key="end" value="2317"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.75" 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="2319"/>
- <details key="end" value="2321"/>
- <details key="line" value="53"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppClassHeader/%.11">
- <details key="start" value="2322"/>
- <details key="end" value="2340"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" 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="2342"/>
- <details key="end" value="2344"/>
- <details key="line" value="55"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/CppClassHeader/%.13">
- <details key="start" value="2345"/>
- <details key="end" value="2353"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.81" 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="2355"/>
- <details key="end" value="2421"/>
- <details key="line" value="56"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/CppClassHeader/%.15">
- <details key="start" value="2422"/>
- <details key="end" value="2437"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" 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="2439"/>
- <details key="end" value="2440"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/CppClassHeader/%.17">
- <details key="start" value="2441"/>
- <details key="end" value="2460"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.87" 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="2463"/>
- <details key="end" value="2483"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.89" 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="2485"/>
- <details key="end" value="2486"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.91" references="/0/CppClassHeader/%.20">
- <details key="start" value="2487"/>
- <details key="end" value="2497"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.92" references="/0/CppClassHeader/%.20/class">
- <details key="start" value="2487"/>
- <details key="end" value="2492"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.93" references="/0/CppClassHeader/%.21">
- <details key="start" value="2500"/>
- <details key="end" value="2531"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.94" 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="2533"/>
- <details key="end" value="2536"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.96" references="/0/CppClassHeader/%.23">
- <details key="start" value="2537"/>
- <details key="end" value="2571"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.97" 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="2574"/>
- <details key="end" value="2595"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.99" 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="2597"/>
- <details key="end" value="2609"/>
- <details key="line" value="62"/>
- </eAnnotations>
- <eAnnotations source="positions.101" references="/0/CppClassHeader/%.26">
- <details key="start" value="2610"/>
- <details key="end" value="2630"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.102" references="/0/CppClassHeader/%.26/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="2633"/>
- <details key="end" value="2686"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.104" references="/0/CppClassHeader/%.27/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="2663"/>
- <details key="end" value="2685"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.106" references="/0/CppClassHeader/%.28">
- <details key="start" value="2689"/>
- <details key="end" value="2742"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.107" references="/0/CppClassHeader/%.28/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="2719"/>
- <details key="end" value="2741"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.109" references="/0/CppClassHeader/%.29">
- <details key="start" value="2744"/>
- <details key="end" value="2759"/>
- <details key="line" value="65"/>
- </eAnnotations>
- <eAnnotations source="positions.110" references="/0/CppClassHeader/%.30">
- <details key="start" value="2760"/>
- <details key="end" value="2816"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.111" references="/0/CppClassHeader/%.30/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="2790"/>
- <details key="end" value="2815"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.113" references="/0/CppClassHeader/%.31">
- <details key="start" value="2819"/>
- <details key="end" value="2875"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.114" references="/0/CppClassHeader/%.31/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="2849"/>
- <details key="end" value="2874"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.116" references="/0/CppClassHeader/%.32">
- <details key="start" value="2877"/>
- <details key="end" value="2890"/>
- <details key="line" value="68"/>
- </eAnnotations>
- <eAnnotations source="positions.117" references="/0/CppClassHeader/%.33">
- <details key="start" value="2891"/>
- <details key="end" value="2945"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.118" references="/0/CppClassHeader/%.33/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="2921"/>
- <details key="end" value="2944"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.120" references="/0/CppClassHeader/%.34">
- <details key="start" value="2948"/>
- <details key="end" value="3002"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.121" references="/0/CppClassHeader/%.34/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="2978"/>
- <details key="end" value="3001"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.123" references="/0/CppClassHeader/%.35">
- <details key="start" value="3004"/>
- <details key="end" value="3135"/>
- <details key="line" value="71"/>
- </eAnnotations>
- <eAnnotations source="positions.124" references="/0/CppClassHeader/%.36">
- <details key="start" value="3136"/>
- <details key="end" value="3191"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.125" references="/0/CppClassHeader/%.36/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="3166"/>
- <details key="end" value="3190"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.127" references="/0/CppClassHeader/%.37">
- <details key="start" value="3193"/>
- <details key="end" value="3194"/>
- <details key="line" value="76"/>
- </eAnnotations>
- <eAnnotations source="positions.128" references="/0/CppClassHeader/%.38">
- <details key="start" value="3195"/>
- <details key="end" value="3250"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.129" references="/0/CppClassHeader/%.38/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="3225"/>
- <details key="end" value="3249"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.131" references="/0/CppClassHeader/%.39">
- <details key="start" value="3252"/>
- <details key="end" value="3317"/>
- <details key="line" value="77"/>
- </eAnnotations>
- <eAnnotations source="positions.132" references="/0/CppClassHeader/%.40">
- <details key="start" value="3317"/>
- <details key="end" value="3509"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.133" references="/0/CppClassHeader/%.40/%">
- <details key="start" value="3335"/>
- <details key="end" value="3461"/>
- <details key="line" value="80"/>
- </eAnnotations>
- <eAnnotations source="positions.134" references="/0/CppClassHeader/%.40/%.1">
- <details key="start" value="3462"/>
- <details key="end" value="3501"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.135" references="/0/CppClassHeader/%.40/%.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="3495"/>
- <details key="end" value="3500"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.137" references="/0/CppClassHeader/%.40/%.2">
- <details key="start" value="3503"/>
- <details key="end" value="3504"/>
- <details key="line" value="83"/>
- </eAnnotations>
- <eAnnotations source="positions.138" references="/0/CppClassHeader/%.40/%.3">
- <details key="start" value="3321"/>
- <details key="end" value="3333"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.139" references="/0/CppClassHeader/%.40/%.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="3510"/>
- <details key="end" value="3574"/>
- <details key="line" value="84"/>
- </eAnnotations>
- <eAnnotations source="positions.141" references="/0/CppClassHeader/%.42">
- <details key="start" value="3575"/>
- <details key="end" value="3613"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.142" references="/0/CppClassHeader/%.42/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="3608"/>
- <details key="end" value="3612"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.144" references="/0/CppClassHeader/%.43">
- <details key="start" value="3615"/>
- <details key="end" value="3616"/>
- <details key="line" value="87"/>
- </eAnnotations>
- <eAnnotations source="positions.145" references="/0/CppClassHeader/%.44">
- <details key="start" value="3617"/>
- <details key="end" value="3626"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.146" references="/0/CppClassHeader/%.44/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="3628"/>
- <details key="end" value="3713"/>
- <details key="line" value="88"/>
- </eAnnotations>
- <eAnnotations source="positions.148" references="/0/CppClassHeader/%.46">
- <details key="start" value="3714"/>
- <details key="end" value="3724"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.149" references="/0/CppClassHeader/%.46/class">
- <details key="start" value="3714"/>
- <details key="end" value="3719"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.150" references="/0/CppClassHeader/%.47">
- <details key="start" value="3726"/>
- <details key="end" value="3810"/>
- <details key="line" value="90"/>
- </eAnnotations>
- <eAnnotations source="positions.151" references="/0/CppClassHeader/class">
- <details key="start" value="1988"/>
- <details key="end" value="2006"/>
- <details key="line" value="42"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassHeader" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppClassHeader" endHeaderPosition="105"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../utils/CppGenUtils.emtl#/0"/> + <imports href="../utils/ClassUtils.emtl#/0"/> + <imports href="Constants.emtl#/0"/> + <imports href="CppIncludeUtils.emtl#/0"/> + <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> + <imports href="util/clazz/CppClassTypeAndEnum.emtl#/0"/> + <imports href="util/clazz/CppClassFriendDeclaration.emtl#/0"/> + <imports href="util/clazz/CppClassInheritedDeclarations.emtl#/0"/> + <imports href="util/clazz/CppClassAttributesDeclaration.emtl#/0"/> + <imports href="util/clazz/CppClassOperationsDeclaration.emtl#/0"/> + <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"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/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"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="1469" endPosition="1637" value=" default initializer for non-static attributes with a default value
TODO: should be disabled by default, since non-static members can be initialized directly
in C++ 011"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="defaultInitializer" visibility="Public"> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/defaultInitializer/classifier"> + <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> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="() : "/> + <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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> + <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"/> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {}
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/11/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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> + </source> + <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> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/> + </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/String_Class/%3C%3E"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </iterator> + </initExpression> + </letVariable> + </body> + <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"> + <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"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + </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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H
#define "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <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

/************************************************************
 "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassHeader/class"> + <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> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class header
 ************************************************************/

"/> + <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/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"> + <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"/> + </argument> + </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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </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="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> + <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="

"/> + <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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 

/************************************************************/
"/> + <body xsi:type="mtl: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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl: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"> + <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"> + <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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassHeader/class"> + <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> + <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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
"/> + <body xsi:type="mtl: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"> + <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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 public:
"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer"> + <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"/> + </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/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> + <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="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="/42"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 protected:
"/> + <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="/43"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </body> + <body xsi:type="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="/44"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 private:
"/> + <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="/45"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </body> + <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="/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/private"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

};
/************************************************************/
/* External declarations (package visibility) */
"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47"> + <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/package"/> + </argument> + </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="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + <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/package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
/************************************************************/

"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/************************************************************/
/* Template functions */
"/> + <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"> + <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"> + <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="
"/> + <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"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
/* Inline functions */
"/> + <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"> + <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"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/closeNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 End of "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassHeader/class"> + <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> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class header
 ************************************************************/

#endif"/> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + <eOperations name="trim"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="classUnionOrStruct"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/classUnionOrStruct"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="defaultInitializer"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/defaultInitializer"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassHeader"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassHeader"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getFullNameUC"> + <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/getFullNameUC"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludeHeader"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppOwnerPackageIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassTypeAndEnum"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnum"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeFriendDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassFriendDeclaration.emtl#/0/CppClassIncludeFriendDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassInheritedDeclarations"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassInheritedDeclarations.emtl#/0/CppClassInheritedDeclarations"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAttributesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppClassOperationsDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppClassOperationsImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> + <eOperations name="isTemplate"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/CppTemplates.emtl#/0/isTemplate"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="templateSignature"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/CppTemplates.emtl#/0/templateSignature"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppElementDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/CppDocumentation.emtl#/0/CppElementDoc"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="argument"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Relationship_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//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"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="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> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/classUnionOrStruct"> + <details key="start" value="1268"/> + <details key="end" value="1459"/> + <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> + <eAnnotations source="positions.2" references="/0/classUnionOrStruct/%"> + <details key="start" value="1337"/> + <details key="end" value="1456"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/classUnionOrStruct/%/%"> + <details key="start" value="1340"/> + <details key="end" value="1369"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/classUnionOrStruct/%/%/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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/classUnionOrStruct/%/%.1"> + <details key="start" value="1375"/> + <details key="end" value="1382"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/classUnionOrStruct/%/%.2"> + <details key="start" value="1389"/> + <details key="end" value="1450"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/classUnionOrStruct/%/%.2/%"> + <details key="start" value="1392"/> + <details key="end" value="1415"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/classUnionOrStruct/%/%.2/%/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"/> + <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> + <eAnnotations source="positions.12" references="/0/classUnionOrStruct/%/%.2/%.2"> + <details key="start" value="1436"/> + <details key="end" value="1443"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/%"> + <details key="start" value="1461"/> + <details key="end" value="1639"/> + <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> + <eAnnotations source="positions.15" references="/0/defaultInitializer/%"> + <details key="start" value="1715"/> + <details key="end" value="2036"/> + <details key="line" value="31"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/defaultInitializer/%/%"> + <details key="start" value="1864"/> + <details key="end" value="2030"/> + <details key="line" value="35"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/defaultInitializer/%/%/%"> + <details key="start" value="1898"/> + <details key="end" value="1899"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/defaultInitializer/%/%/%.1"> + <details key="start" value="1900"/> + <details key="end" value="1915"/> + <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"/> + <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> + <eAnnotations source="positions.21" references="/0/defaultInitializer/%/%/%.3"> + <details key="start" value="1922"/> + <details key="end" value="2021"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/defaultInitializer/%/%/%.3/%"> + <details key="start" value="1978"/> + <details key="end" value="1982"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" 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> + <eAnnotations source="positions.25" references="/0/defaultInitializer/%/%/%.3/%.2"> + <details key="start" value="1986"/> + <details key="end" value="2012"/> + <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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" 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> + <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> + <eAnnotations source="positions.30" references="/0/defaultInitializer/%/%/%.3/attributeList"> + <details key="start" value="1943"/> + <details key="end" value="1956"/> + <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"/> + <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> + <eAnnotations source="positions.33" references="/0/defaultInitializer/%/%/%.5"> + <details key="start" value="1868"/> + <details key="end" value="1896"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/defaultInitializer/%/%/%.5/%"> + <details key="start" value="1872"/> + <details key="end" value="1896"/> + <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"/> + <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> + <eAnnotations source="positions.37" references="/0/defaultInitializer/%/attributeList/select"> + <details key="start" value="1753"/> + <details key="end" value="1863"/> + <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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" 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"/> + <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"/> + <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"/> + <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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" 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"/> + <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"/> + <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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" 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"/> + <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"/> + <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"/> + <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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" 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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" 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> + <eAnnotations source="positions.57" references="/0/defaultInitializer/%.1"> + <details key="start" value="1706"/> + <details key="end" value="1712"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" 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> + <eAnnotations source="positions.60" references="/0/CppClassHeader/%"> + <details key="start" value="2104"/> + <details key="end" value="2112"/> + <details key="line" value="43"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppClassHeader/%.1"> + <details key="start" value="2113"/> + <details key="end" value="2128"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" 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> + <eAnnotations source="positions.64" references="/0/CppClassHeader/%.3"> + <details key="start" value="2142"/> + <details key="end" value="2157"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" 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> + <eAnnotations source="positions.67" references="/0/CppClassHeader/%.5"> + <details key="start" value="2240"/> + <details key="end" value="2250"/> + <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"/> + <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> + <eAnnotations source="positions.70" references="/0/CppClassHeader/%.7"> + <details key="start" value="2331"/> + <details key="end" value="2375"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/CppClassHeader/%.7/%"> + <details key="start" value="2331"/> + <details key="end" value="2339"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" 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> + <eAnnotations source="positions.74" references="/0/CppClassHeader/%.9"> + <details key="start" value="2380"/> + <details key="end" value="2412"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" 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> + <eAnnotations source="positions.77" references="/0/CppClassHeader/%.11"> + <details key="start" value="2417"/> + <details key="end" value="2435"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" 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> + <eAnnotations source="positions.80" references="/0/CppClassHeader/%.13"> + <details key="start" value="2440"/> + <details key="end" value="2448"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.81" 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> + <eAnnotations source="positions.83" references="/0/CppClassHeader/%.15"> + <details key="start" value="2517"/> + <details key="end" value="2532"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" 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> + <eAnnotations source="positions.86" references="/0/CppClassHeader/%.17"> + <details key="start" value="2536"/> + <details key="end" value="2555"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.87" 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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.89" 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> + <eAnnotations source="positions.91" references="/0/CppClassHeader/%.20"> + <details key="start" value="2582"/> + <details key="end" value="2592"/> + <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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.93" references="/0/CppClassHeader/%.21"> + <details key="start" value="2595"/> + <details key="end" value="2626"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.94" 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> + <eAnnotations source="positions.96" references="/0/CppClassHeader/%.23"> + <details key="start" value="2632"/> + <details key="end" value="2666"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.97" 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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.99" 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> + <eAnnotations source="positions.101" references="/0/CppClassHeader/%.26"> + <details key="start" value="2705"/> + <details key="end" value="2725"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.102" references="/0/CppClassHeader/%.26/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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.104" references="/0/CppClassHeader/%.27/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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.106" references="/0/CppClassHeader/%.28"> + <details key="start" value="2784"/> + <details key="end" value="2837"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.107" references="/0/CppClassHeader/%.28/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"/> + <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> + <eAnnotations source="positions.110" references="/0/CppClassHeader/%.30"> + <details key="start" value="2855"/> + <details key="end" value="2911"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.111" references="/0/CppClassHeader/%.30/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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.113" references="/0/CppClassHeader/%.31"> + <details key="start" value="2914"/> + <details key="end" value="2970"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.114" references="/0/CppClassHeader/%.31/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"/> + <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> + <eAnnotations source="positions.117" references="/0/CppClassHeader/%.33"> + <details key="start" value="2986"/> + <details key="end" value="3040"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.118" references="/0/CppClassHeader/%.33/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"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.120" references="/0/CppClassHeader/%.34"> + <details key="start" value="3043"/> + <details key="end" value="3097"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.121" references="/0/CppClassHeader/%.34/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"/> + <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> + <eAnnotations source="positions.124" references="/0/CppClassHeader/%.36"> + <details key="start" value="3231"/> + <details key="end" value="3286"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.125" references="/0/CppClassHeader/%.36/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"/> + <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> + <eAnnotations source="positions.128" references="/0/CppClassHeader/%.38"> + <details key="start" value="3290"/> + <details key="end" value="3345"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.129" references="/0/CppClassHeader/%.38/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"/> + <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> + <eAnnotations source="positions.132" references="/0/CppClassHeader/%.40"> + <details key="start" value="3412"/> + <details key="end" value="3604"/> + <details key="line" value="79"/> + </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> + <eAnnotations source="positions.134" references="/0/CppClassHeader/%.40/%.1"> + <details key="start" value="3557"/> + <details key="end" value="3596"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.135" references="/0/CppClassHeader/%.40/%.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"/> + <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> + <eAnnotations source="positions.138" references="/0/CppClassHeader/%.40/%.3"> + <details key="start" value="3416"/> + <details key="end" value="3428"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.139" references="/0/CppClassHeader/%.40/%.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> + <eAnnotations source="positions.141" references="/0/CppClassHeader/%.42"> + <details key="start" value="3670"/> + <details key="end" value="3708"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.142" references="/0/CppClassHeader/%.42/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"/> + <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> + <eAnnotations source="positions.145" references="/0/CppClassHeader/%.44"> + <details key="start" value="3712"/> + <details key="end" value="3721"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.146" references="/0/CppClassHeader/%.44/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> + <eAnnotations source="positions.148" references="/0/CppClassHeader/%.46"> + <details key="start" value="3809"/> + <details key="end" value="3819"/> + <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"/> + <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> + <eAnnotations source="positions.151" references="/0/CppClassHeader/class"> + <details key="start" value="2083"/> + <details key="end" value="2101"/> + <details key="line" value="42"/> + </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 16288f40778..daaa4609107 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 @@ -1,5 +1,6 @@ -[module CppClassHeader('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[module CppClassHeader('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::ClassUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::Constants/] [import org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils/] @@ -14,7 +15,6 @@ [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] - [query public classUnionOrStruct(classifier : Classifier) : String = if (hasStereotype(C_Cpp::Union)) then 'union' else 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 ab653d3b80f..138ba52e554 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 @@ -1,1107 +1,1105 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppIncludeUtils" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils" startHeaderPosition="29" endHeaderPosition="155">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../utils/GenUtils.emtl#/0"/>
- <imports href="Constants.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppIncludeHeader" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="Constants.emtl#/0/constIncludeHeaderStart"/>
- <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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/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>
- </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="Constants.emtl#/0/constIncludeHeaderEnd"/>
- <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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore: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="header" referredVariable="/0/CppIncludeHeader/%/%/header">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </source>
- <argument xsi:type="ocl.ecore: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/String_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="ocl.ecore: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"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/size"/>
- </source>
- <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <letVariable name="header">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <initExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//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="../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include/header"/>
- </initExpression>
- </letVariable>
- </body>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppIncludeBody" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="Constants.emtl#/0/constIncludeBodyStart"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/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>
- </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="Constants.emtl#/0/constIncludeBodyEnd"/>
- <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#//NamedElement"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore: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="_body" referredVariable="/0/CppIncludeBody/%/%/_body">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </source>
- <argument xsi:type="ocl.ecore: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/String_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="ocl.ecore: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"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/size"/>
- </source>
- <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <letVariable name="_body">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <initExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//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="../utils/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>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include/body"/>
- </initExpression>
- </letVariable>
- </body>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppIncludePreBody" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="Constants.emtl#/0/constIncludePreBodyStart"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/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>
- </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="Constants.emtl#/0/constIncludePreBodyEnd"/>
- <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#//NamedElement"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore: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="preBody" referredVariable="/0/CppIncludePreBody/%/%/preBody">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </source>
- <argument xsi:type="ocl.ecore: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/String_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="ocl.ecore: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"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/size"/>
- </source>
- <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <letVariable name="preBody">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <initExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//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="../utils/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>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include/preBody"/>
- </initExpression>
- </letVariable>
- </body>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppIncludeHeader">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppIncludeHeader"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludeBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppIncludeBody"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludePreBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppIncludePreBody"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="cleanCR">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/cleanCR"/>
- </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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeHeaderStart">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludeHeaderStart"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludePreBodyStart">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludePreBodyStart"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludePreBodyEnd">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludePreBodyEnd"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeBodyStart">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludeBodyStart"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeHeaderEnd">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludeHeaderEnd"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constIncludeBodyEnd">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/constIncludeBodyEnd"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Include">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppIncludeHeader">
- <details key="start" value="225"/>
- <details key="end" value="554"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppIncludeHeader/%">
- <details key="start" value="279"/>
- <details key="end" value="542"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppIncludeHeader/%/%">
- <details key="start" value="316"/>
- <details key="end" value="537"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppIncludeHeader/%/%/%">
- <details key="start" value="404"/>
- <details key="end" value="531"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppIncludeHeader/%/%/%/%">
- <details key="start" value="451"/>
- <details key="end" value="476"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppIncludeHeader/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppIncludeHeader/%/%/%/%.1">
- <details key="start" value="478"/>
- <details key="end" value="479"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppIncludeHeader/%/%/%/%.2">
- <details key="start" value="480"/>
- <details key="end" value="496"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppIncludeHeader/%/%/%/%.2/header">
- <details key="start" value="480"/>
- <details key="end" value="486"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppIncludeHeader/%/%/%/%.3">
- <details key="start" value="498"/>
- <details key="end" value="499"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppIncludeHeader/%/%/%/%.4">
- <details key="start" value="500"/>
- <details key="end" value="523"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppIncludeHeader/%/%/%/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppIncludeHeader/%/%/%/%.5">
- <details key="start" value="525"/>
- <details key="end" value="526"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppIncludeHeader/%/%/%/%.6">
- <details key="start" value="408"/>
- <details key="end" value="448"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppIncludeHeader/%/%/%/%.6/%">
- <details key="start" value="408"/>
- <details key="end" value="424"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppIncludeHeader/%/%/%/%.6/%/header">
- <details key="start" value="409"/>
- <details key="end" value="415"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppIncludeHeader/%/%/%/%.6/%/%">
- <details key="start" value="419"/>
- <details key="end" value="423"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppIncludeHeader/%/%/%/%.6/%.1">
- <details key="start" value="429"/>
- <details key="end" value="448"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppIncludeHeader/%/%/%/%.6/%.1/%">
- <details key="start" value="430"/>
- <details key="end" value="443"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppIncludeHeader/%/%/%/%.6/%.1/%/header">
- <details key="start" value="430"/>
- <details key="end" value="436"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppIncludeHeader/%/%/%/%.6/%.1/%.1">
- <details key="start" value="446"/>
- <details key="end" value="447"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppIncludeHeader/%/%/header">
- <details key="start" value="321"/>
- <details key="end" value="402"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppIncludeHeader/%/%/header/%">
- <details key="start" value="340"/>
- <details key="end" value="403"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppIncludeHeader/%/%/header/%/%">
- <details key="start" value="340"/>
- <details key="end" value="396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppIncludeHeader/%/%/header/%/%/%">
- <details key="start" value="340"/>
- <details key="end" value="370"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppIncludeHeader/%/%/header/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppIncludeHeader/%/%/header/%/%/%/%">
- <details key="start" value="355"/>
- <details key="end" value="369"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppIncludeHeader/%/%/header/%/%/%.1">
- <details key="start" value="381"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppIncludeHeader/%/%.1">
- <details key="start" value="283"/>
- <details key="end" value="314"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppIncludeHeader/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppIncludeHeader/%/%.1/%">
- <details key="start" value="298"/>
- <details key="end" value="312"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppIncludeHeader/ne">
- <details key="start" value="259"/>
- <details key="end" value="276"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppIncludeBody">
- <details key="start" value="556"/>
- <details key="end" value="874"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppIncludeBody/%">
- <details key="start" value="608"/>
- <details key="end" value="862"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppIncludeBody/%/%">
- <details key="start" value="645"/>
- <details key="end" value="857"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppIncludeBody/%/%/%">
- <details key="start" value="731"/>
- <details key="end" value="851"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppIncludeBody/%/%/%/%">
- <details key="start" value="776"/>
- <details key="end" value="799"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppIncludeBody/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppIncludeBody/%/%/%/%.1">
- <details key="start" value="801"/>
- <details key="end" value="802"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppIncludeBody/%/%/%/%.2">
- <details key="start" value="803"/>
- <details key="end" value="818"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppIncludeBody/%/%/%/%.2/_body">
- <details key="start" value="803"/>
- <details key="end" value="808"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppIncludeBody/%/%/%/%.3">
- <details key="start" value="820"/>
- <details key="end" value="821"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppIncludeBody/%/%/%/%.4">
- <details key="start" value="822"/>
- <details key="end" value="843"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppIncludeBody/%/%/%/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppIncludeBody/%/%/%/%.5">
- <details key="start" value="845"/>
- <details key="end" value="846"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppIncludeBody/%/%/%/%.6">
- <details key="start" value="735"/>
- <details key="end" value="773"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppIncludeBody/%/%/%/%.6/%">
- <details key="start" value="735"/>
- <details key="end" value="750"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppIncludeBody/%/%/%/%.6/%/_body">
- <details key="start" value="736"/>
- <details key="end" value="741"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppIncludeBody/%/%/%/%.6/%/%">
- <details key="start" value="745"/>
- <details key="end" value="749"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppIncludeBody/%/%/%/%.6/%.1">
- <details key="start" value="755"/>
- <details key="end" value="773"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppIncludeBody/%/%/%/%.6/%.1/%">
- <details key="start" value="756"/>
- <details key="end" value="768"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppIncludeBody/%/%/%/%.6/%.1/%/_body">
- <details key="start" value="756"/>
- <details key="end" value="761"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppIncludeBody/%/%/%/%.6/%.1/%.1">
- <details key="start" value="771"/>
- <details key="end" value="772"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppIncludeBody/%/%/_body">
- <details key="start" value="650"/>
- <details key="end" value="729"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppIncludeBody/%/%/_body/%">
- <details key="start" value="668"/>
- <details key="end" value="730"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppIncludeBody/%/%/_body/%/%">
- <details key="start" value="668"/>
- <details key="end" value="724"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppIncludeBody/%/%/_body/%/%/%">
- <details key="start" value="668"/>
- <details key="end" value="698"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppIncludeBody/%/%/_body/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppIncludeBody/%/%/_body/%/%/%/%">
- <details key="start" value="683"/>
- <details key="end" value="697"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppIncludeBody/%/%/_body/%/%/%.1">
- <details key="start" value="709"/>
- <details key="end" value="723"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppIncludeBody/%/%.1">
- <details key="start" value="612"/>
- <details key="end" value="643"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppIncludeBody/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppIncludeBody/%/%.1/%">
- <details key="start" value="627"/>
- <details key="end" value="641"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppIncludeBody/ne">
- <details key="start" value="588"/>
- <details key="end" value="605"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppIncludePreBody">
- <details key="start" value="876"/>
- <details key="end" value="1213"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppIncludePreBody/%">
- <details key="start" value="931"/>
- <details key="end" value="1201"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppIncludePreBody/%/%">
- <details key="start" value="968"/>
- <details key="end" value="1196"/>
- <details key="line" value="28"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppIncludePreBody/%/%/%">
- <details key="start" value="1058"/>
- <details key="end" value="1190"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppIncludePreBody/%/%/%/%">
- <details key="start" value="1107"/>
- <details key="end" value="1133"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppIncludePreBody/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppIncludePreBody/%/%/%/%.1">
- <details key="start" value="1135"/>
- <details key="end" value="1136"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppIncludePreBody/%/%/%/%.2">
- <details key="start" value="1137"/>
- <details key="end" value="1154"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppIncludePreBody/%/%/%/%.2/preBody">
- <details key="start" value="1137"/>
- <details key="end" value="1144"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppIncludePreBody/%/%/%/%.3">
- <details key="start" value="1156"/>
- <details key="end" value="1157"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppIncludePreBody/%/%/%/%.4">
- <details key="start" value="1158"/>
- <details key="end" value="1182"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppIncludePreBody/%/%/%/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppIncludePreBody/%/%/%/%.5">
- <details key="start" value="1184"/>
- <details key="end" value="1185"/>
- <details key="line" value="33"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppIncludePreBody/%/%/%/%.6">
- <details key="start" value="1062"/>
- <details key="end" value="1104"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppIncludePreBody/%/%/%/%.6/%">
- <details key="start" value="1062"/>
- <details key="end" value="1079"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/CppIncludePreBody/%/%/%/%.6/%/preBody">
- <details key="start" value="1063"/>
- <details key="end" value="1070"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/CppIncludePreBody/%/%/%/%.6/%/%">
- <details key="start" value="1074"/>
- <details key="end" value="1078"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/CppIncludePreBody/%/%/%/%.6/%.1">
- <details key="start" value="1084"/>
- <details key="end" value="1104"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/CppIncludePreBody/%/%/%/%.6/%.1/%">
- <details key="start" value="1085"/>
- <details key="end" value="1099"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/CppIncludePreBody/%/%/%/%.6/%.1/%/preBody">
- <details key="start" value="1085"/>
- <details key="end" value="1092"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/CppIncludePreBody/%/%/%/%.6/%.1/%.1">
- <details key="start" value="1102"/>
- <details key="end" value="1103"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/CppIncludePreBody/%/%/preBody">
- <details key="start" value="973"/>
- <details key="end" value="1056"/>
- <details key="line" value="28"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/CppIncludePreBody/%/%/preBody/%">
- <details key="start" value="993"/>
- <details key="end" value="1057"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/CppIncludePreBody/%/%/preBody/%/%">
- <details key="start" value="993"/>
- <details key="end" value="1049"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/CppIncludePreBody/%/%/preBody/%/%/%">
- <details key="start" value="993"/>
- <details key="end" value="1023"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.89" references="/0/CppIncludePreBody/%/%/preBody/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.90" references="/0/CppIncludePreBody/%/%/preBody/%/%/%/%">
- <details key="start" value="1008"/>
- <details key="end" value="1022"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.91" references="/0/CppIncludePreBody/%/%/preBody/%/%/%.1">
- <details key="start" value="1034"/>
- <details key="end" value="1048"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.92" references="/0/CppIncludePreBody/%/%.1">
- <details key="start" value="935"/>
- <details key="end" value="966"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.93" references="/0/CppIncludePreBody/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.94" references="/0/CppIncludePreBody/%/%.1/%">
- <details key="start" value="950"/>
- <details key="end" value="964"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.95" references="/0/CppIncludePreBody/ne">
- <details key="start" value="911"/>
- <details key="end" value="928"/>
- <details key="line" value="26"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppIncludeUtils" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils" startHeaderPosition="29" endHeaderPosition="185"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="Constants.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppIncludeHeader" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="Constants.emtl#/0/constIncludeHeaderStart"/> + <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> + </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="../../../../../../../../org.eclipse.papyrus.acceleo/bin/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> + </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="Constants.emtl#/0/constIncludeHeaderEnd"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore: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="header" referredVariable="/0/CppIncludeHeader/%/%/header"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <argument xsi:type="ocl.ecore: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/String_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="ocl.ecore: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"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/size"/> + </source> + <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <letVariable name="header"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <initExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//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"/> + <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> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include/header"/> + </initExpression> + </letVariable> + </body> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + </ifExpr> + </body> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppIncludeBody" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="Constants.emtl#/0/constIncludeBodyStart"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="../../../../../../../../org.eclipse.papyrus.acceleo/bin/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> + </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="Constants.emtl#/0/constIncludeBodyEnd"/> + <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#//NamedElement"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore: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="_body" referredVariable="/0/CppIncludeBody/%/%/_body"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <argument xsi:type="ocl.ecore: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/String_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="ocl.ecore: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"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/size"/> + </source> + <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <letVariable name="_body"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <initExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//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"/> + <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> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include/body"/> + </initExpression> + </letVariable> + </body> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + </ifExpr> + </body> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppIncludePreBody" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="Constants.emtl#/0/constIncludePreBodyStart"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="../../../../../../../../org.eclipse.papyrus.acceleo/bin/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> + </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="Constants.emtl#/0/constIncludePreBodyEnd"/> + <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#//NamedElement"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore: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="preBody" referredVariable="/0/CppIncludePreBody/%/%/preBody"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <argument xsi:type="ocl.ecore: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/String_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="ocl.ecore: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"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/size"/> + </source> + <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <letVariable name="preBody"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <initExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//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"/> + <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> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include/preBody"/> + </initExpression> + </letVariable> + </body> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </argument> + </ifExpr> + </body> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppIncludeHeader"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppIncludeHeader"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludeBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppIncludeBody"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludePreBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppIncludePreBody"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cleanCR"> + <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/cleanCR"/> + </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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeHeaderStart"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludeHeaderStart"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludePreBodyStart"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludePreBodyStart"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludePreBodyEnd"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludePreBodyEnd"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeBodyStart"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludeBodyStart"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeHeaderEnd"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludeHeaderEnd"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constIncludeBodyEnd"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/constIncludeBodyEnd"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Include"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppIncludeHeader"> + <details key="start" value="255"/> + <details key="end" value="584"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppIncludeHeader/%"> + <details key="start" value="309"/> + <details key="end" value="572"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppIncludeHeader/%/%"> + <details key="start" value="346"/> + <details key="end" value="567"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppIncludeHeader/%/%/%"> + <details key="start" value="434"/> + <details key="end" value="561"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppIncludeHeader/%/%/%/%"> + <details key="start" value="481"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppIncludeHeader/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppIncludeHeader/%/%/%/%.1"> + <details key="start" value="508"/> + <details key="end" value="509"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppIncludeHeader/%/%/%/%.2"> + <details key="start" value="510"/> + <details key="end" value="526"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppIncludeHeader/%/%/%/%.2/header"> + <details key="start" value="510"/> + <details key="end" value="516"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppIncludeHeader/%/%/%/%.3"> + <details key="start" value="528"/> + <details key="end" value="529"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppIncludeHeader/%/%/%/%.4"> + <details key="start" value="530"/> + <details key="end" value="553"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppIncludeHeader/%/%/%/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppIncludeHeader/%/%/%/%.5"> + <details key="start" value="555"/> + <details key="end" value="556"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppIncludeHeader/%/%/%/%.6"> + <details key="start" value="438"/> + <details key="end" value="478"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppIncludeHeader/%/%/%/%.6/%"> + <details key="start" value="438"/> + <details key="end" value="454"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppIncludeHeader/%/%/%/%.6/%/header"> + <details key="start" value="439"/> + <details key="end" value="445"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppIncludeHeader/%/%/%/%.6/%/%"> + <details key="start" value="449"/> + <details key="end" value="453"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppIncludeHeader/%/%/%/%.6/%.1"> + <details key="start" value="459"/> + <details key="end" value="478"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppIncludeHeader/%/%/%/%.6/%.1/%"> + <details key="start" value="460"/> + <details key="end" value="473"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppIncludeHeader/%/%/%/%.6/%.1/%/header"> + <details key="start" value="460"/> + <details key="end" value="466"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppIncludeHeader/%/%/%/%.6/%.1/%.1"> + <details key="start" value="476"/> + <details key="end" value="477"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppIncludeHeader/%/%/header"> + <details key="start" value="351"/> + <details key="end" value="432"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppIncludeHeader/%/%/header/%"> + <details key="start" value="370"/> + <details key="end" value="433"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppIncludeHeader/%/%/header/%/%"> + <details key="start" value="370"/> + <details key="end" value="426"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppIncludeHeader/%/%/header/%/%/%"> + <details key="start" value="370"/> + <details key="end" value="400"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppIncludeHeader/%/%/header/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppIncludeHeader/%/%/header/%/%/%/%"> + <details key="start" value="385"/> + <details key="end" value="399"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppIncludeHeader/%/%/header/%/%/%.1"> + <details key="start" value="411"/> + <details key="end" value="425"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppIncludeHeader/%/%.1"> + <details key="start" value="313"/> + <details key="end" value="344"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppIncludeHeader/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppIncludeHeader/%/%.1/%"> + <details key="start" value="328"/> + <details key="end" value="342"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppIncludeHeader/ne"> + <details key="start" value="289"/> + <details key="end" value="306"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppIncludeBody"> + <details key="start" value="586"/> + <details key="end" value="904"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppIncludeBody/%"> + <details key="start" value="638"/> + <details key="end" value="892"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppIncludeBody/%/%"> + <details key="start" value="675"/> + <details key="end" value="887"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppIncludeBody/%/%/%"> + <details key="start" value="761"/> + <details key="end" value="881"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppIncludeBody/%/%/%/%"> + <details key="start" value="806"/> + <details key="end" value="829"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppIncludeBody/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppIncludeBody/%/%/%/%.1"> + <details key="start" value="831"/> + <details key="end" value="832"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppIncludeBody/%/%/%/%.2"> + <details key="start" value="833"/> + <details key="end" value="848"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppIncludeBody/%/%/%/%.2/_body"> + <details key="start" value="833"/> + <details key="end" value="838"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppIncludeBody/%/%/%/%.3"> + <details key="start" value="850"/> + <details key="end" value="851"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppIncludeBody/%/%/%/%.4"> + <details key="start" value="852"/> + <details key="end" value="873"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppIncludeBody/%/%/%/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppIncludeBody/%/%/%/%.5"> + <details key="start" value="875"/> + <details key="end" value="876"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppIncludeBody/%/%/%/%.6"> + <details key="start" value="765"/> + <details key="end" value="803"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppIncludeBody/%/%/%/%.6/%"> + <details key="start" value="765"/> + <details key="end" value="780"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppIncludeBody/%/%/%/%.6/%/_body"> + <details key="start" value="766"/> + <details key="end" value="771"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppIncludeBody/%/%/%/%.6/%/%"> + <details key="start" value="775"/> + <details key="end" value="779"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppIncludeBody/%/%/%/%.6/%.1"> + <details key="start" value="785"/> + <details key="end" value="803"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppIncludeBody/%/%/%/%.6/%.1/%"> + <details key="start" value="786"/> + <details key="end" value="798"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppIncludeBody/%/%/%/%.6/%.1/%/_body"> + <details key="start" value="786"/> + <details key="end" value="791"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppIncludeBody/%/%/%/%.6/%.1/%.1"> + <details key="start" value="801"/> + <details key="end" value="802"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppIncludeBody/%/%/_body"> + <details key="start" value="680"/> + <details key="end" value="759"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppIncludeBody/%/%/_body/%"> + <details key="start" value="698"/> + <details key="end" value="760"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppIncludeBody/%/%/_body/%/%"> + <details key="start" value="698"/> + <details key="end" value="754"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppIncludeBody/%/%/_body/%/%/%"> + <details key="start" value="698"/> + <details key="end" value="728"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppIncludeBody/%/%/_body/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppIncludeBody/%/%/_body/%/%/%/%"> + <details key="start" value="713"/> + <details key="end" value="727"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppIncludeBody/%/%/_body/%/%/%.1"> + <details key="start" value="739"/> + <details key="end" value="753"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppIncludeBody/%/%.1"> + <details key="start" value="642"/> + <details key="end" value="673"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppIncludeBody/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppIncludeBody/%/%.1/%"> + <details key="start" value="657"/> + <details key="end" value="671"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppIncludeBody/ne"> + <details key="start" value="618"/> + <details key="end" value="635"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppIncludePreBody"> + <details key="start" value="906"/> + <details key="end" value="1243"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppIncludePreBody/%"> + <details key="start" value="961"/> + <details key="end" value="1231"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppIncludePreBody/%/%"> + <details key="start" value="998"/> + <details key="end" value="1226"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppIncludePreBody/%/%/%"> + <details key="start" value="1088"/> + <details key="end" value="1220"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppIncludePreBody/%/%/%/%"> + <details key="start" value="1137"/> + <details key="end" value="1163"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/CppIncludePreBody/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/CppIncludePreBody/%/%/%/%.1"> + <details key="start" value="1165"/> + <details key="end" value="1166"/> + <details key="line" value="31"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/CppIncludePreBody/%/%/%/%.2"> + <details key="start" value="1167"/> + <details key="end" value="1184"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/CppIncludePreBody/%/%/%/%.2/preBody"> + <details key="start" value="1167"/> + <details key="end" value="1174"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/CppIncludePreBody/%/%/%/%.3"> + <details key="start" value="1186"/> + <details key="end" value="1187"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/CppIncludePreBody/%/%/%/%.4"> + <details key="start" value="1188"/> + <details key="end" value="1212"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/CppIncludePreBody/%/%/%/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/CppIncludePreBody/%/%/%/%.5"> + <details key="start" value="1214"/> + <details key="end" value="1215"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/CppIncludePreBody/%/%/%/%.6"> + <details key="start" value="1092"/> + <details key="end" value="1134"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/CppIncludePreBody/%/%/%/%.6/%"> + <details key="start" value="1092"/> + <details key="end" value="1109"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/CppIncludePreBody/%/%/%/%.6/%/preBody"> + <details key="start" value="1093"/> + <details key="end" value="1100"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/CppIncludePreBody/%/%/%/%.6/%/%"> + <details key="start" value="1104"/> + <details key="end" value="1108"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/CppIncludePreBody/%/%/%/%.6/%.1"> + <details key="start" value="1114"/> + <details key="end" value="1134"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/CppIncludePreBody/%/%/%/%.6/%.1/%"> + <details key="start" value="1115"/> + <details key="end" value="1129"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/CppIncludePreBody/%/%/%/%.6/%.1/%/preBody"> + <details key="start" value="1115"/> + <details key="end" value="1122"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/CppIncludePreBody/%/%/%/%.6/%.1/%.1"> + <details key="start" value="1132"/> + <details key="end" value="1133"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/CppIncludePreBody/%/%/preBody"> + <details key="start" value="1003"/> + <details key="end" value="1086"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/CppIncludePreBody/%/%/preBody/%"> + <details key="start" value="1023"/> + <details key="end" value="1087"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/CppIncludePreBody/%/%/preBody/%/%"> + <details key="start" value="1023"/> + <details key="end" value="1079"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/CppIncludePreBody/%/%/preBody/%/%/%"> + <details key="start" value="1023"/> + <details key="end" value="1053"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.89" references="/0/CppIncludePreBody/%/%/preBody/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.90" references="/0/CppIncludePreBody/%/%/preBody/%/%/%/%"> + <details key="start" value="1038"/> + <details key="end" value="1052"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.91" references="/0/CppIncludePreBody/%/%/preBody/%/%/%.1"> + <details key="start" value="1064"/> + <details key="end" value="1078"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.92" references="/0/CppIncludePreBody/%/%.1"> + <details key="start" value="965"/> + <details key="end" value="996"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.93" references="/0/CppIncludePreBody/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.94" references="/0/CppIncludePreBody/%/%.1/%"> + <details key="start" value="980"/> + <details key="end" value="994"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.95" references="/0/CppIncludePreBody/ne"> + <details key="start" value="941"/> + <details key="end" value="958"/> + <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/CppIncludeUtils.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.mtl index e2b71dc69de..d88b05d21bf 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.mtl @@ -1,6 +1,6 @@ [comment encoding = UTF-8 /] -[module CppIncludeUtils('http://www.eclipse.org/uml2/4.0.0/UML')] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[module CppIncludeUtils('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::acceleo::Constants/] [template public CppIncludeHeader(ne : NamedElement)] 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 69e208fe5b8..7f97541e6bb 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 @@ -1,672 +1,673 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppPackageHeader" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppPackageHeader" endHeaderPosition="65">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../utils/GenUtils.emtl#/0"/>
- <imports href="../preferences/CppCodeGenUtils.emtl#/0"/>
- <imports href="Constants.emtl#/0"/>
- <imports href="CppIncludeUtils.emtl#/0"/>
- <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/>
- <imports href="util/clazz/CppClassTypeAndEnum.emtl#/0"/>
- <imports href="util/clazz/CppClassFriendDeclaration.emtl#/0"/>
- <imports href="util/CppDocumentation.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppPackageHeader" visibility="Public">
- <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="../utils/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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#define PKG_"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 Pkg_"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" package header
 ************************************************************/

"/>
- <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/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="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/nestingPackage"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

#ifndef _IN_
#define _IN_
#endif
#ifndef _OUT_
#define _OUT_
#endif
#ifndef _INOUT_
#define _INOUT_
#endif

	
/* Package dependency header include */
"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/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>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."/>
- <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="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- <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#//Package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">
"/>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/10/Sequence(Package)">
- <definition href="../utils/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>
- </iterSet>
- </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="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
- <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#//Package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/openNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- </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="Constants.emtl#/0/packageTypes"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- </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="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnumPackage"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../utils/GenUtils.emtl#/0/closeNS"/>
- <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#//Package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 End of Pkg_"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" package header
 ************************************************************/

#endif"/>
- <parameter name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppPackageHeader">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppPackageHeader"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullNameUC">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getFullNameUC"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getUsedPackages">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../utils/GenUtils.emtl#/0/getUsedPackages"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../utils/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>
- </eOperations>
- <eOperations name="getHeaderSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- <eOperations name="packageTypes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="Constants.emtl#/0/packageTypes"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppIncludeHeader">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOwnerPackageIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassTypeAndEnumPackage">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnumPackage"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="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="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Package)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="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/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppPackageHeader">
- <details key="start" value="713"/>
- <details key="end" value="1607"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppPackageHeader/%">
- <details key="start" value="763"/>
- <details key="end" value="775"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppPackageHeader/%.1">
- <details key="start" value="776"/>
- <details key="end" value="791"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppPackageHeader/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppPackageHeader/%.2">
- <details key="start" value="793"/>
- <details key="end" value="806"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppPackageHeader/%.3">
- <details key="start" value="807"/>
- <details key="end" value="822"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppPackageHeader/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppPackageHeader/%.4">
- <details key="start" value="824"/>
- <details key="end" value="906"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppPackageHeader/%.5">
- <details key="start" value="907"/>
- <details key="end" value="911"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppPackageHeader/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppPackageHeader/%.6">
- <details key="start" value="913"/>
- <details key="end" value="993"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppPackageHeader/%.7">
- <details key="start" value="994"/>
- <details key="end" value="1044"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppPackageHeader/%.7/%">
- <details key="start" value="994"/>
- <details key="end" value="1008"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppPackageHeader/%.7/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppPackageHeader/%.8">
- <details key="start" value="1046"/>
- <details key="end" value="1221"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppPackageHeader/%.9">
- <details key="start" value="1221"/>
- <details key="end" value="1314"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppPackageHeader/%.9/%">
- <details key="start" value="1247"/>
- <details key="end" value="1257"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppPackageHeader/%.9/%.1">
- <details key="start" value="1258"/>
- <details key="end" value="1271"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppPackageHeader/%.9/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppPackageHeader/%.9/%.2">
- <details key="start" value="1273"/>
- <details key="end" value="1278"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppPackageHeader/%.9/%.3">
- <details key="start" value="1279"/>
- <details key="end" value="1283"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppPackageHeader/%.9/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppPackageHeader/%.9/%.4">
- <details key="start" value="1285"/>
- <details key="end" value="1286"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppPackageHeader/%.9/%.5">
- <details key="start" value="1287"/>
- <details key="end" value="1304"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppPackageHeader/%.9/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppPackageHeader/%.9/%.6">
- <details key="start" value="1306"/>
- <details key="end" value="1308"/>
- <details key="line" value="37"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppPackageHeader/%.9/%.7">
- <details key="start" value="1227"/>
- <details key="end" value="1244"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppPackageHeader/%.9/%.7/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppPackageHeader/%.10">
- <details key="start" value="1315"/>
- <details key="end" value="1316"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppPackageHeader/%.11">
- <details key="start" value="1317"/>
- <details key="end" value="1335"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppPackageHeader/%.11/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppPackageHeader/%.12">
- <details key="start" value="1337"/>
- <details key="end" value="1339"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppPackageHeader/%.13">
- <details key="start" value="1340"/>
- <details key="end" value="1348"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppPackageHeader/%.13/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppPackageHeader/%.14">
- <details key="start" value="1350"/>
- <details key="end" value="1351"/>
- <details key="line" value="43"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppPackageHeader/%.15">
- <details key="start" value="1352"/>
- <details key="end" value="1366"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppPackageHeader/%.15/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppPackageHeader/%.16">
- <details key="start" value="1368"/>
- <details key="end" value="1369"/>
- <details key="line" value="44"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppPackageHeader/%.17">
- <details key="start" value="1370"/>
- <details key="end" value="1398"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppPackageHeader/%.17/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppPackageHeader/%.18">
- <details key="start" value="1400"/>
- <details key="end" value="1401"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppPackageHeader/%.19">
- <details key="start" value="1402"/>
- <details key="end" value="1411"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppPackageHeader/%.19/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppPackageHeader/%.20">
- <details key="start" value="1413"/>
- <details key="end" value="1502"/>
- <details key="line" value="46"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppPackageHeader/%.21">
- <details key="start" value="1503"/>
- <details key="end" value="1507"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppPackageHeader/%.21/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppPackageHeader/%.22">
- <details key="start" value="1509"/>
- <details key="end" value="1595"/>
- <details key="line" value="48"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppPackageHeader/pkg">
- <details key="start" value="747"/>
- <details key="end" value="760"/>
- <details key="line" value="14"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppPackageHeader" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppPackageHeader" endHeaderPosition="65"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../utils/CppGenUtils.emtl#/0"/> + <imports href="../preferences/CppCodeGenUtils.emtl#/0"/> + <imports href="Constants.emtl#/0"/> + <imports href="CppIncludeUtils.emtl#/0"/> + <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> + <imports href="util/clazz/CppClassTypeAndEnum.emtl#/0"/> + <imports href="util/clazz/CppClassFriendDeclaration.emtl#/0"/> + <imports href="util/CppDocumentation.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppPackageHeader" visibility="Public"> + <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"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#define PKG_"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <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> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 Pkg_"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" package header
 ************************************************************/

"/> + <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/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="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/nestingPackage"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

#ifndef _IN_
#define _IN_
#endif
#ifndef _OUT_
#define _OUT_
#endif
#ifndef _INOUT_
#define _INOUT_
#endif

	
/* Package dependency header include */
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."/> + <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="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <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#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">
"/> + <iterSet xsi:type="mtl:QueryInvocation" eType="/10/Sequence(Package)"> + <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> + <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> + </iterSet> + </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="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> + <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#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/openNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + </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="Constants.emtl#/0/packageTypes"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + </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="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnumPackage"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/closeNS"/> + <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#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

/************************************************************
 End of Pkg_"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" package header
 ************************************************************/

#endif"/> + <parameter name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppPackageHeader"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppPackageHeader"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="getFullNameUC"> + <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/getFullNameUC"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getUsedPackages"> + <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/getUsedPackages"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/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> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getHeaderSuffix"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + <eOperations name="packageTypes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="Constants.emtl#/0/packageTypes"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="CppIncludeHeader"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppOwnerPackageIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="CppClassTypeAndEnumPackage"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnumPackage"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Package)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="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/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppPackageHeader"> + <details key="start" value="767"/> + <details key="end" value="1661"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppPackageHeader/%"> + <details key="start" value="817"/> + <details key="end" value="829"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppPackageHeader/%.1"> + <details key="start" value="830"/> + <details key="end" value="845"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppPackageHeader/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppPackageHeader/%.2"> + <details key="start" value="847"/> + <details key="end" value="860"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppPackageHeader/%.3"> + <details key="start" value="861"/> + <details key="end" value="876"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppPackageHeader/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppPackageHeader/%.4"> + <details key="start" value="878"/> + <details key="end" value="960"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppPackageHeader/%.5"> + <details key="start" value="961"/> + <details key="end" value="965"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppPackageHeader/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppPackageHeader/%.6"> + <details key="start" value="967"/> + <details key="end" value="1047"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppPackageHeader/%.7"> + <details key="start" value="1048"/> + <details key="end" value="1098"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppPackageHeader/%.7/%"> + <details key="start" value="1048"/> + <details key="end" value="1062"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppPackageHeader/%.7/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppPackageHeader/%.8"> + <details key="start" value="1100"/> + <details key="end" value="1275"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppPackageHeader/%.9"> + <details key="start" value="1275"/> + <details key="end" value="1368"/> + <details key="line" value="37"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppPackageHeader/%.9/%"> + <details key="start" value="1301"/> + <details key="end" value="1311"/> + <details key="line" value="38"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppPackageHeader/%.9/%.1"> + <details key="start" value="1312"/> + <details key="end" value="1325"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppPackageHeader/%.9/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppPackageHeader/%.9/%.2"> + <details key="start" value="1327"/> + <details key="end" value="1332"/> + <details key="line" value="38"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppPackageHeader/%.9/%.3"> + <details key="start" value="1333"/> + <details key="end" value="1337"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppPackageHeader/%.9/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppPackageHeader/%.9/%.4"> + <details key="start" value="1339"/> + <details key="end" value="1340"/> + <details key="line" value="38"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppPackageHeader/%.9/%.5"> + <details key="start" value="1341"/> + <details key="end" value="1358"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppPackageHeader/%.9/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppPackageHeader/%.9/%.6"> + <details key="start" value="1360"/> + <details key="end" value="1362"/> + <details key="line" value="38"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppPackageHeader/%.9/%.7"> + <details key="start" value="1281"/> + <details key="end" value="1298"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppPackageHeader/%.9/%.7/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppPackageHeader/%.10"> + <details key="start" value="1369"/> + <details key="end" value="1370"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppPackageHeader/%.11"> + <details key="start" value="1371"/> + <details key="end" value="1389"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppPackageHeader/%.11/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppPackageHeader/%.12"> + <details key="start" value="1391"/> + <details key="end" value="1393"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppPackageHeader/%.13"> + <details key="start" value="1394"/> + <details key="end" value="1402"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppPackageHeader/%.13/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppPackageHeader/%.14"> + <details key="start" value="1404"/> + <details key="end" value="1405"/> + <details key="line" value="44"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppPackageHeader/%.15"> + <details key="start" value="1406"/> + <details key="end" value="1420"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppPackageHeader/%.15/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppPackageHeader/%.16"> + <details key="start" value="1422"/> + <details key="end" value="1423"/> + <details key="line" value="45"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppPackageHeader/%.17"> + <details key="start" value="1424"/> + <details key="end" value="1452"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppPackageHeader/%.17/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppPackageHeader/%.18"> + <details key="start" value="1454"/> + <details key="end" value="1455"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppPackageHeader/%.19"> + <details key="start" value="1456"/> + <details key="end" value="1465"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppPackageHeader/%.19/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppPackageHeader/%.20"> + <details key="start" value="1467"/> + <details key="end" value="1556"/> + <details key="line" value="47"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppPackageHeader/%.21"> + <details key="start" value="1557"/> + <details key="end" value="1561"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppPackageHeader/%.21/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppPackageHeader/%.22"> + <details key="start" value="1563"/> + <details key="end" value="1649"/> + <details key="line" value="49"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppPackageHeader/pkg"> + <details key="start" value="801"/> + <details key="end" value="814"/> + <details key="line" value="15"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.mtl index a52674ea982..d09dbaf346f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.mtl @@ -1,5 +1,6 @@ [module CppPackageHeader('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::Constants/] [import org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl index 278b20def88..3da6bf34607 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl @@ -1,1302 +1,1360 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppAttribute" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute" endHeaderPosition="61">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../utils/GenUtils.emtl#/0"/>
- <imports href="../../utils/Modifier.emtl#/0"/>
- <imports href="../Constants.emtl#/0"/>
- <imports href="CppDocumentation.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/defaultValue/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="staticValue" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/>
- <ifExpr xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/staticValue/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/>
- </ifExpr>
- </body>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeDeclaration" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/staticValue">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeDeclaration/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeDeclaration/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modArray"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeImplementation" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeImplementation/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeImplementation/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modArray"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributeImplementation" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/40">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/42">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/Modifier.emtl#/0/modArray"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="1246" endPosition="1385" value="
Loop over attributes. Check that the attribute is not a static const.
Constant static attributes are declared within the class declaration"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributes" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../Constants.emtl#/0/constStaticAttributes"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppStaticAttributeImplementation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/57">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/57">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/56/Const">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/53/Set(Property)">
- <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/CppStaticAttributes/classifier">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/>
- </iterSet>
- </body>
- <parameter name="classifier">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="defaultValue">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/defaultValue"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- <eOperations name="staticValue">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/staticValue"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppAttributeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppAttributeDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppAttributeImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppAttributeImplementation"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppStaticAttributeImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppStaticAttributeImplementation"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppStaticAttributes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppStaticAttributes"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="classifier">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="modPtr">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modPtr"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modRef">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modRef"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modArray">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modArray"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modConst">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/Modifier.emtl#/0/modConst"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="constStaticAttributes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../Constants.emtl#/0/constStaticAttributes"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="dummy">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Property_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Const">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/defaultValue">
- <details key="start" value="337"/>
- <details key="end" value="489"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/defaultValue/%">
- <details key="start" value="390"/>
- <details key="end" value="477"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/defaultValue/%/%">
- <details key="start" value="430"/>
- <details key="end" value="433"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1">
- <details key="start" value="434"/>
- <details key="end" value="470"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%">
- <details key="start" value="434"/>
- <details key="end" value="456"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/attribute">
- <details key="start" value="434"/>
- <details key="end" value="443"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/defaultValue/%/%.2">
- <details key="start" value="394"/>
- <details key="end" value="429"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/defaultValue/%/%.2/%">
- <details key="start" value="394"/>
- <details key="end" value="416"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/defaultValue/%/%.2/%/%">
- <details key="start" value="395"/>
- <details key="end" value="407"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/%/%.1">
- <details key="start" value="411"/>
- <details key="end" value="415"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%.1">
- <details key="start" value="421"/>
- <details key="end" value="429"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/defaultValue/%/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/defaultValue/attribute">
- <details key="start" value="367"/>
- <details key="end" value="387"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/staticValue">
- <details key="start" value="492"/>
- <details key="end" value="593"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/staticValue/%">
- <details key="start" value="544"/>
- <details key="end" value="581"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/staticValue/%/%">
- <details key="start" value="569"/>
- <details key="end" value="576"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/staticValue/%/%.1">
- <details key="start" value="548"/>
- <details key="end" value="568"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/staticValue/%/%.1/attribute">
- <details key="start" value="549"/>
- <details key="end" value="558"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/staticValue/attribute">
- <details key="start" value="521"/>
- <details key="end" value="541"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppAttributeDeclaration">
- <details key="start" value="596"/>
- <details key="end" value="807"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppAttributeDeclaration/%">
- <details key="start" value="661"/>
- <details key="end" value="676"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppAttributeDeclaration/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppAttributeDeclaration/%.1">
- <details key="start" value="678"/>
- <details key="end" value="679"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppAttributeDeclaration/%.2">
- <details key="start" value="680"/>
- <details key="end" value="693"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppAttributeDeclaration/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppAttributeDeclaration/%.3">
- <details key="start" value="696"/>
- <details key="end" value="706"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppAttributeDeclaration/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppAttributeDeclaration/%.4">
- <details key="start" value="709"/>
- <details key="end" value="739"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppAttributeDeclaration/%.4/%">
- <details key="start" value="709"/>
- <details key="end" value="723"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppAttributeDeclaration/%.4/%/attribute">
- <details key="start" value="709"/>
- <details key="end" value="718"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppAttributeDeclaration/%.5">
- <details key="start" value="742"/>
- <details key="end" value="750"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppAttributeDeclaration/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppAttributeDeclaration/%.6">
- <details key="start" value="753"/>
- <details key="end" value="761"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppAttributeDeclaration/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppAttributeDeclaration/%.7">
- <details key="start" value="763"/>
- <details key="end" value="764"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppAttributeDeclaration/%.8">
- <details key="start" value="765"/>
- <details key="end" value="779"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppAttributeDeclaration/%.8/attribute">
- <details key="start" value="765"/>
- <details key="end" value="774"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppAttributeDeclaration/%.9">
- <details key="start" value="782"/>
- <details key="end" value="792"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppAttributeDeclaration/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppAttributeDeclaration/%.10">
- <details key="start" value="794"/>
- <details key="end" value="795"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppAttributeDeclaration/attribute">
- <details key="start" value="637"/>
- <details key="end" value="657"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppAttributeImplementation">
- <details key="start" value="810"/>
- <details key="end" value="1010"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppAttributeImplementation/%">
- <details key="start" value="877"/>
- <details key="end" value="878"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppAttributeImplementation/%.1">
- <details key="start" value="879"/>
- <details key="end" value="894"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppAttributeImplementation/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppAttributeImplementation/%.2">
- <details key="start" value="896"/>
- <details key="end" value="898"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppAttributeImplementation/%.3">
- <details key="start" value="899"/>
- <details key="end" value="909"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppAttributeImplementation/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppAttributeImplementation/%.4">
- <details key="start" value="912"/>
- <details key="end" value="942"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppAttributeImplementation/%.4/%">
- <details key="start" value="912"/>
- <details key="end" value="926"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppAttributeImplementation/%.4/%/attribute">
- <details key="start" value="912"/>
- <details key="end" value="921"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppAttributeImplementation/%.5">
- <details key="start" value="945"/>
- <details key="end" value="953"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppAttributeImplementation/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppAttributeImplementation/%.6">
- <details key="start" value="956"/>
- <details key="end" value="964"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppAttributeImplementation/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppAttributeImplementation/%.7">
- <details key="start" value="966"/>
- <details key="end" value="967"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppAttributeImplementation/%.8">
- <details key="start" value="968"/>
- <details key="end" value="982"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppAttributeImplementation/%.8/attribute">
- <details key="start" value="968"/>
- <details key="end" value="977"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppAttributeImplementation/%.9">
- <details key="start" value="985"/>
- <details key="end" value="995"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppAttributeImplementation/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppAttributeImplementation/%.10">
- <details key="start" value="997"/>
- <details key="end" value="998"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppAttributeImplementation/attribute">
- <details key="start" value="854"/>
- <details key="end" value="874"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppStaticAttributeImplementation">
- <details key="start" value="1012"/>
- <details key="end" value="1235"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppStaticAttributeImplementation/%">
- <details key="start" value="1086"/>
- <details key="end" value="1101"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppStaticAttributeImplementation/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppStaticAttributeImplementation/%.1">
- <details key="start" value="1103"/>
- <details key="end" value="1104"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppStaticAttributeImplementation/%.2">
- <details key="start" value="1105"/>
- <details key="end" value="1125"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppStaticAttributeImplementation/%.2/%">
- <details key="start" value="1105"/>
- <details key="end" value="1109"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppStaticAttributeImplementation/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppStaticAttributeImplementation/%.3">
- <details key="start" value="1128"/>
- <details key="end" value="1136"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppStaticAttributeImplementation/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppStaticAttributeImplementation/%.4">
- <details key="start" value="1139"/>
- <details key="end" value="1147"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppStaticAttributeImplementation/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppStaticAttributeImplementation/%.5">
- <details key="start" value="1149"/>
- <details key="end" value="1150"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppStaticAttributeImplementation/%.6">
- <details key="start" value="1151"/>
- <details key="end" value="1171"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppStaticAttributeImplementation/%.6/%">
- <details key="start" value="1151"/>
- <details key="end" value="1166"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppStaticAttributeImplementation/%.6/%/attribute">
- <details key="start" value="1151"/>
- <details key="end" value="1160"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppStaticAttributeImplementation/%.7">
- <details key="start" value="1173"/>
- <details key="end" value="1175"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/CppStaticAttributeImplementation/%.8">
- <details key="start" value="1176"/>
- <details key="end" value="1190"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/CppStaticAttributeImplementation/%.8/attribute">
- <details key="start" value="1176"/>
- <details key="end" value="1185"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/CppStaticAttributeImplementation/%.9">
- <details key="start" value="1193"/>
- <details key="end" value="1203"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/CppStaticAttributeImplementation/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/CppStaticAttributeImplementation/%.10">
- <details key="start" value="1206"/>
- <details key="end" value="1220"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/CppStaticAttributeImplementation/%.10/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/CppStaticAttributeImplementation/%.11">
- <details key="start" value="1222"/>
- <details key="end" value="1223"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/CppStaticAttributeImplementation/attribute">
- <details key="start" value="1062"/>
- <details key="end" value="1082"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/%">
- <details key="start" value="1238"/>
- <details key="end" value="1387"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/CppStaticAttributes">
- <details key="start" value="1389"/>
- <details key="end" value="1626"/>
- <details key="line" value="38"/>
- </eAnnotations>
- <eAnnotations source="positions.89" references="/0/CppStaticAttributes/%">
- <details key="start" value="1453"/>
- <details key="end" value="1476"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.90" references="/0/CppStaticAttributes/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.91" references="/0/CppStaticAttributes/%.1">
- <details key="start" value="1478"/>
- <details key="end" value="1479"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.92" references="/0/CppStaticAttributes/%.2">
- <details key="start" value="1479"/>
- <details key="end" value="1614"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.93" references="/0/CppStaticAttributes/%.2/%">
- <details key="start" value="1509"/>
- <details key="end" value="1607"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.94" references="/0/CppStaticAttributes/%.2/%/%">
- <details key="start" value="1563"/>
- <details key="end" value="1597"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.95" references="/0/CppStaticAttributes/%.2/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.96" references="/0/CppStaticAttributes/%.2/%/%.1">
- <details key="start" value="1599"/>
- <details key="end" value="1601"/>
- <details key="line" value="43"/>
- </eAnnotations>
- <eAnnotations source="positions.97" references="/0/CppStaticAttributes/%.2/%/%.2">
- <details key="start" value="1512"/>
- <details key="end" value="1560"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.98" references="/0/CppStaticAttributes/%.2/%/%.2/%">
- <details key="start" value="1513"/>
- <details key="end" value="1521"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.99" references="/0/CppStaticAttributes/%.2/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.100" references="/0/CppStaticAttributes/%.2/%/%.2/%.1">
- <details key="start" value="1526"/>
- <details key="end" value="1559"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.101" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%">
- <details key="start" value="1531"/>
- <details key="end" value="1558"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.102" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.103" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/%">
- <details key="start" value="1545"/>
- <details key="end" value="1557"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.104" references="/0/CppStaticAttributes/%.2/%.1">
- <details key="start" value="1485"/>
- <details key="end" value="1505"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.105" references="/0/CppStaticAttributes/%.2/%.1/classifier">
- <details key="start" value="1485"/>
- <details key="end" value="1495"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.106" references="/0/CppStaticAttributes/classifier">
- <details key="start" value="1426"/>
- <details key="end" value="1449"/>
- <details key="line" value="38"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppAttribute" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute" endHeaderPosition="103"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../utils/CppGenUtils.emtl#/0"/> + <imports href="../../utils/Modifier.emtl#/0"/> + <imports href="../Constants.emtl#/0"/> + <imports href="CppDocumentation.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/defaultValue/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <parameter name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="staticValue" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/> + <ifExpr xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/staticValue/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> + </ifExpr> + </body> + <parameter name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeDeclaration" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/staticValue"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeDeclaration/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modPtr"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modRef"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeDeclaration/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modArray"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/25/Const"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/> + </argument> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppAttributeImplementation" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeImplementation/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modPtr"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modRef"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppAttributeImplementation/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modArray"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributeImplementation" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modPtr"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modRef"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/CppStaticAttributeImplementation/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/Modifier.emtl#/0/modArray"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/50"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="1407" endPosition="1546" value="
Loop over attributes. Check that the attribute is not a static const.
Constant static attributes are declared within the class declaration"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppStaticAttributes" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../Constants.emtl#/0/constStaticAttributes"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/55"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppStaticAttributeImplementation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/60"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/59"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/59"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/25/Const"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/56/Set(Property)"> + <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/CppStaticAttributes/classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> + </iterSet> + </body> + <parameter name="classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="defaultValue"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/defaultValue"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + <eOperations name="staticValue"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/staticValue"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + <eOperations name="CppAttributeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppAttributeDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + <eOperations name="CppAttributeImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppAttributeImplementation"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + <eOperations name="CppStaticAttributeImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppStaticAttributeImplementation"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + <eOperations name="CppStaticAttributes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppStaticAttributes"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="modPtr"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../utils/Modifier.emtl#/0/modPtr"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modRef"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../utils/Modifier.emtl#/0/modRef"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modArray"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../utils/Modifier.emtl#/0/modArray"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modConst"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../utils/Modifier.emtl#/0/modConst"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="constStaticAttributes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../Constants.emtl#/0/constStaticAttributes"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="CppElementDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppDocumentation.emtl#/0/CppElementDoc"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="argument"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Property_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Const"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/defaultValue"> + <details key="start" value="433"/> + <details key="end" value="585"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/defaultValue/%"> + <details key="start" value="486"/> + <details key="end" value="573"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/defaultValue/%/%"> + <details key="start" value="526"/> + <details key="end" value="529"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1"> + <details key="start" value="530"/> + <details key="end" value="566"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%"> + <details key="start" value="530"/> + <details key="end" value="552"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/attribute"> + <details key="start" value="530"/> + <details key="end" value="539"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/defaultValue/%/%.2"> + <details key="start" value="490"/> + <details key="end" value="525"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/defaultValue/%/%.2/%"> + <details key="start" value="490"/> + <details key="end" value="512"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/defaultValue/%/%.2/%/%"> + <details key="start" value="491"/> + <details key="end" value="503"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/%/%.1"> + <details key="start" value="507"/> + <details key="end" value="511"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%.1"> + <details key="start" value="517"/> + <details key="end" value="525"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/defaultValue/%/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/defaultValue/attribute"> + <details key="start" value="463"/> + <details key="end" value="483"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/staticValue"> + <details key="start" value="588"/> + <details key="end" value="689"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/staticValue/%"> + <details key="start" value="640"/> + <details key="end" value="677"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/staticValue/%/%"> + <details key="start" value="665"/> + <details key="end" value="672"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/staticValue/%/%.1"> + <details key="start" value="644"/> + <details key="end" value="664"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/staticValue/%/%.1/attribute"> + <details key="start" value="645"/> + <details key="end" value="654"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/staticValue/attribute"> + <details key="start" value="617"/> + <details key="end" value="637"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppAttributeDeclaration"> + <details key="start" value="692"/> + <details key="end" value="962"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppAttributeDeclaration/%"> + <details key="start" value="757"/> + <details key="end" value="772"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppAttributeDeclaration/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppAttributeDeclaration/%.1"> + <details key="start" value="774"/> + <details key="end" value="775"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppAttributeDeclaration/%.2"> + <details key="start" value="776"/> + <details key="end" value="789"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppAttributeDeclaration/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppAttributeDeclaration/%.3"> + <details key="start" value="792"/> + <details key="end" value="802"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppAttributeDeclaration/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppAttributeDeclaration/%.4"> + <details key="start" value="805"/> + <details key="end" value="838"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppAttributeDeclaration/%.4/%"> + <details key="start" value="805"/> + <details key="end" value="819"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppAttributeDeclaration/%.4/%/attribute"> + <details key="start" value="805"/> + <details key="end" value="814"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppAttributeDeclaration/%.5"> + <details key="start" value="841"/> + <details key="end" value="849"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppAttributeDeclaration/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppAttributeDeclaration/%.6"> + <details key="start" value="852"/> + <details key="end" value="860"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppAttributeDeclaration/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppAttributeDeclaration/%.7"> + <details key="start" value="862"/> + <details key="end" value="863"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppAttributeDeclaration/%.8"> + <details key="start" value="864"/> + <details key="end" value="878"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppAttributeDeclaration/%.8/attribute"> + <details key="start" value="864"/> + <details key="end" value="873"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppAttributeDeclaration/%.9"> + <details key="start" value="881"/> + <details key="end" value="891"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppAttributeDeclaration/%.9/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppAttributeDeclaration/%.10"> + <details key="start" value="893"/> + <details key="end" value="949"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppAttributeDeclaration/%.10/%"> + <details key="start" value="928"/> + <details key="end" value="942"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppAttributeDeclaration/%.10/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppAttributeDeclaration/%.10/%.1"> + <details key="start" value="897"/> + <details key="end" value="926"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppAttributeDeclaration/%.10/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppAttributeDeclaration/%.10/%.1/%"> + <details key="start" value="912"/> + <details key="end" value="924"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppAttributeDeclaration/%.11"> + <details key="start" value="949"/> + <details key="end" value="950"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppAttributeDeclaration/attribute"> + <details key="start" value="733"/> + <details key="end" value="753"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppAttributeImplementation"> + <details key="start" value="965"/> + <details key="end" value="1168"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppAttributeImplementation/%"> + <details key="start" value="1032"/> + <details key="end" value="1033"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppAttributeImplementation/%.1"> + <details key="start" value="1034"/> + <details key="end" value="1049"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppAttributeImplementation/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppAttributeImplementation/%.2"> + <details key="start" value="1051"/> + <details key="end" value="1053"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppAttributeImplementation/%.3"> + <details key="start" value="1054"/> + <details key="end" value="1064"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppAttributeImplementation/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppAttributeImplementation/%.4"> + <details key="start" value="1067"/> + <details key="end" value="1100"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppAttributeImplementation/%.4/%"> + <details key="start" value="1067"/> + <details key="end" value="1081"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppAttributeImplementation/%.4/%/attribute"> + <details key="start" value="1067"/> + <details key="end" value="1076"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppAttributeImplementation/%.5"> + <details key="start" value="1103"/> + <details key="end" value="1111"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppAttributeImplementation/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppAttributeImplementation/%.6"> + <details key="start" value="1114"/> + <details key="end" value="1122"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppAttributeImplementation/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppAttributeImplementation/%.7"> + <details key="start" value="1124"/> + <details key="end" value="1125"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppAttributeImplementation/%.8"> + <details key="start" value="1126"/> + <details key="end" value="1140"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppAttributeImplementation/%.8/attribute"> + <details key="start" value="1126"/> + <details key="end" value="1135"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppAttributeImplementation/%.9"> + <details key="start" value="1143"/> + <details key="end" value="1153"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppAttributeImplementation/%.9/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppAttributeImplementation/%.10"> + <details key="start" value="1155"/> + <details key="end" value="1156"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppAttributeImplementation/attribute"> + <details key="start" value="1009"/> + <details key="end" value="1029"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/CppStaticAttributeImplementation"> + <details key="start" value="1170"/> + <details key="end" value="1396"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/CppStaticAttributeImplementation/%"> + <details key="start" value="1244"/> + <details key="end" value="1259"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/CppStaticAttributeImplementation/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/CppStaticAttributeImplementation/%.1"> + <details key="start" value="1261"/> + <details key="end" value="1262"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/CppStaticAttributeImplementation/%.2"> + <details key="start" value="1263"/> + <details key="end" value="1286"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/CppStaticAttributeImplementation/%.2/%"> + <details key="start" value="1263"/> + <details key="end" value="1267"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/CppStaticAttributeImplementation/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/CppStaticAttributeImplementation/%.3"> + <details key="start" value="1289"/> + <details key="end" value="1297"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/CppStaticAttributeImplementation/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/CppStaticAttributeImplementation/%.4"> + <details key="start" value="1300"/> + <details key="end" value="1308"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/CppStaticAttributeImplementation/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/CppStaticAttributeImplementation/%.5"> + <details key="start" value="1310"/> + <details key="end" value="1311"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/CppStaticAttributeImplementation/%.6"> + <details key="start" value="1312"/> + <details key="end" value="1332"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/CppStaticAttributeImplementation/%.6/%"> + <details key="start" value="1312"/> + <details key="end" value="1327"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/CppStaticAttributeImplementation/%.6/%/attribute"> + <details key="start" value="1312"/> + <details key="end" value="1321"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/CppStaticAttributeImplementation/%.7"> + <details key="start" value="1334"/> + <details key="end" value="1336"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/CppStaticAttributeImplementation/%.8"> + <details key="start" value="1337"/> + <details key="end" value="1351"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/CppStaticAttributeImplementation/%.8/attribute"> + <details key="start" value="1337"/> + <details key="end" value="1346"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/CppStaticAttributeImplementation/%.9"> + <details key="start" value="1354"/> + <details key="end" value="1364"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/CppStaticAttributeImplementation/%.9/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.89" references="/0/CppStaticAttributeImplementation/%.10"> + <details key="start" value="1367"/> + <details key="end" value="1381"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.90" references="/0/CppStaticAttributeImplementation/%.10/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.91" references="/0/CppStaticAttributeImplementation/%.11"> + <details key="start" value="1383"/> + <details key="end" value="1384"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.92" references="/0/CppStaticAttributeImplementation/attribute"> + <details key="start" value="1220"/> + <details key="end" value="1240"/> + <details key="line" value="30"/> + </eAnnotations> + <eAnnotations source="positions.93" references="/0/%"> + <details key="start" value="1399"/> + <details key="end" value="1548"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.94" references="/0/CppStaticAttributes"> + <details key="start" value="1550"/> + <details key="end" value="1787"/> + <details key="line" value="39"/> + </eAnnotations> + <eAnnotations source="positions.95" references="/0/CppStaticAttributes/%"> + <details key="start" value="1614"/> + <details key="end" value="1637"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.96" references="/0/CppStaticAttributes/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.97" references="/0/CppStaticAttributes/%.1"> + <details key="start" value="1639"/> + <details key="end" value="1640"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.98" references="/0/CppStaticAttributes/%.2"> + <details key="start" value="1640"/> + <details key="end" value="1775"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.99" references="/0/CppStaticAttributes/%.2/%"> + <details key="start" value="1670"/> + <details key="end" value="1768"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.100" references="/0/CppStaticAttributes/%.2/%/%"> + <details key="start" value="1724"/> + <details key="end" value="1758"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.101" references="/0/CppStaticAttributes/%.2/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.102" references="/0/CppStaticAttributes/%.2/%/%.1"> + <details key="start" value="1760"/> + <details key="end" value="1762"/> + <details key="line" value="44"/> + </eAnnotations> + <eAnnotations source="positions.103" references="/0/CppStaticAttributes/%.2/%/%.2"> + <details key="start" value="1673"/> + <details key="end" value="1721"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.104" references="/0/CppStaticAttributes/%.2/%/%.2/%"> + <details key="start" value="1674"/> + <details key="end" value="1682"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.105" references="/0/CppStaticAttributes/%.2/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.106" references="/0/CppStaticAttributes/%.2/%/%.2/%.1"> + <details key="start" value="1687"/> + <details key="end" value="1720"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.107" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%"> + <details key="start" value="1692"/> + <details key="end" value="1719"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.108" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.109" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/%"> + <details key="start" value="1706"/> + <details key="end" value="1718"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.110" references="/0/CppStaticAttributes/%.2/%.1"> + <details key="start" value="1646"/> + <details key="end" value="1666"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.111" references="/0/CppStaticAttributes/%.2/%.1/classifier"> + <details key="start" value="1646"/> + <details key="end" value="1656"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.112" references="/0/CppStaticAttributes/classifier"> + <details key="start" value="1587"/> + <details key="end" value="1610"/> + <details key="line" value="39"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl index 7227283ec0f..f7b8e72484c 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl @@ -1,5 +1,6 @@ -[module CppAttribute('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[module CppAttribute('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::Modifier/] [import org::eclipse::papyrus::cpp::codegen::acceleo::Constants/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] @@ -17,18 +18,18 @@ [template public CppAttributeDeclaration(attribute : Property)] [CppElementDoc()/] -[staticValue()/][modConst()/][attribute.type.qualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/][if (hasStereotype(C_Cpp::Const))][defaultValue()/][/if]; +[staticValue()/][modConst()/][attribute.type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/][if (hasStereotype(C_Cpp::Const))][defaultValue()/][/if]; [/template] [template public CppAttributeImplementation(attribute : Property)] [CppElementDoc()/] - [modConst()/][attribute.type.qualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/]; + [modConst()/][attribute.type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/]; [/template] [template public CppStaticAttributeImplementation(attribute : Property)] [CppElementDoc()/] -[type.qualifiedName()/][modPtr()/][modRef()/] [attribute.class.name/]::[attribute.name/][modArray()/][defaultValue()/]; +[type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.class.name/]::[attribute.name/][modArray()/][defaultValue()/]; [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl index 49e817a4d4e..c222c6ba500 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl @@ -1,487 +1,482 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppDocumentation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation" endHeaderPosition="65">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppElementDoc" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**
 * "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/getComments"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 */"/>
- <parameter name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDoc" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**
 * "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/getComments"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParamDoc">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/12/OrderedSet(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/>
- </iterSet>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 */"/>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppParamDoc" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@param "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/getComments"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </body>
- <parameter name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- <eOperations name="replaceAll">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="substring">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="replacement">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppElementDoc"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOperationDoc"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppParamDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppParamDoc"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="getComments">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/getComments"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppElementDoc">
- <details key="start" value="133"/>
- <details key="end" value="250"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppElementDoc/%">
- <details key="start" value="185"/>
- <details key="end" value="192"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppElementDoc/%.1">
- <details key="start" value="193"/>
- <details key="end" value="232"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppElementDoc/%.1/%">
- <details key="start" value="193"/>
- <details key="end" value="206"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppElementDoc/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppElementDoc/%.1/%.1">
- <details key="start" value="218"/>
- <details key="end" value="222"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppElementDoc/%.1/%.2">
- <details key="start" value="224"/>
- <details key="end" value="231"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppElementDoc/%.2">
- <details key="start" value="234"/>
- <details key="end" value="238"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppElementDoc/argument">
- <details key="start" value="164"/>
- <details key="end" value="182"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppOperationDoc">
- <details key="start" value="253"/>
- <details key="end" value="423"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppOperationDoc/%">
- <details key="start" value="310"/>
- <details key="end" value="317"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppOperationDoc/%.1">
- <details key="start" value="318"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppOperationDoc/%.1/%">
- <details key="start" value="318"/>
- <details key="end" value="331"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppOperationDoc/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppOperationDoc/%.1/%.1">
- <details key="start" value="343"/>
- <details key="end" value="347"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppOperationDoc/%.1/%.2">
- <details key="start" value="349"/>
- <details key="end" value="356"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppOperationDoc/%.2">
- <details key="start" value="359"/>
- <details key="end" value="363"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppOperationDoc/%.3">
- <details key="start" value="363"/>
- <details key="end" value="407"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppOperationDoc/%.3/%">
- <details key="start" value="386"/>
- <details key="end" value="399"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppOperationDoc/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppOperationDoc/%.3/%.1">
- <details key="start" value="369"/>
- <details key="end" value="383"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppOperationDoc/%.3/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppOperationDoc/%.4">
- <details key="start" value="407"/>
- <details key="end" value="411"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppOperationDoc/operation">
- <details key="start" value="286"/>
- <details key="end" value="307"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppParamDoc">
- <details key="start" value="426"/>
- <details key="end" value="551"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppParamDoc/%">
- <details key="start" value="479"/>
- <details key="end" value="486"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppParamDoc/%.1">
- <details key="start" value="487"/>
- <details key="end" value="491"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppParamDoc/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppParamDoc/%.2">
- <details key="start" value="493"/>
- <details key="end" value="494"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppParamDoc/%.3">
- <details key="start" value="495"/>
- <details key="end" value="537"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppParamDoc/%.3/%">
- <details key="start" value="495"/>
- <details key="end" value="508"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppParamDoc/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppParamDoc/%.3/%.1">
- <details key="start" value="520"/>
- <details key="end" value="524"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppParamDoc/%.3/%.2">
- <details key="start" value="526"/>
- <details key="end" value="536"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppParamDoc/parameter">
- <details key="start" value="455"/>
- <details key="end" value="476"/>
- <details key="line" value="20"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppDocumentation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation" endHeaderPosition="65"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppElementDoc" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**
 * "/> + <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 */"/> + <parameter name="argument"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDoc" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**
 * "/> + <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParamDoc"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/12/OrderedSet(Parameter)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/> + </iterSet> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 */"/> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppParamDoc" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@param "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </body> + <parameter name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + <eOperations name="replaceAll"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="substring"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="replacement"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppElementDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppElementDoc"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="argument"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppOperationDoc"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="CppParamDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppParamDoc"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eParameters> + </eOperations> + <eOperations name="getComments"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppElementDoc"> + <details key="start" value="121"/> + <details key="end" value="238"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppElementDoc/%"> + <details key="start" value="173"/> + <details key="end" value="180"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppElementDoc/%.1"> + <details key="start" value="181"/> + <details key="end" value="220"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppElementDoc/%.1/%"> + <details key="start" value="181"/> + <details key="end" value="194"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppElementDoc/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppElementDoc/%.1/%.1"> + <details key="start" value="206"/> + <details key="end" value="210"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppElementDoc/%.1/%.2"> + <details key="start" value="212"/> + <details key="end" value="219"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppElementDoc/%.2"> + <details key="start" value="222"/> + <details key="end" value="226"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppElementDoc/argument"> + <details key="start" value="152"/> + <details key="end" value="170"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppOperationDoc"> + <details key="start" value="241"/> + <details key="end" value="411"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppOperationDoc/%"> + <details key="start" value="298"/> + <details key="end" value="305"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppOperationDoc/%.1"> + <details key="start" value="306"/> + <details key="end" value="345"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppOperationDoc/%.1/%"> + <details key="start" value="306"/> + <details key="end" value="319"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppOperationDoc/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppOperationDoc/%.1/%.1"> + <details key="start" value="331"/> + <details key="end" value="335"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppOperationDoc/%.1/%.2"> + <details key="start" value="337"/> + <details key="end" value="344"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppOperationDoc/%.2"> + <details key="start" value="347"/> + <details key="end" value="351"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppOperationDoc/%.3"> + <details key="start" value="351"/> + <details key="end" value="395"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppOperationDoc/%.3/%"> + <details key="start" value="374"/> + <details key="end" value="387"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppOperationDoc/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppOperationDoc/%.3/%.1"> + <details key="start" value="357"/> + <details key="end" value="371"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppOperationDoc/%.3/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppOperationDoc/%.4"> + <details key="start" value="395"/> + <details key="end" value="399"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppOperationDoc/operation"> + <details key="start" value="274"/> + <details key="end" value="295"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppParamDoc"> + <details key="start" value="414"/> + <details key="end" value="539"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppParamDoc/%"> + <details key="start" value="467"/> + <details key="end" value="474"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppParamDoc/%.1"> + <details key="start" value="475"/> + <details key="end" value="479"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppParamDoc/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppParamDoc/%.2"> + <details key="start" value="481"/> + <details key="end" value="482"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppParamDoc/%.3"> + <details key="start" value="483"/> + <details key="end" value="525"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppParamDoc/%.3/%"> + <details key="start" value="483"/> + <details key="end" value="496"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppParamDoc/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppParamDoc/%.3/%.1"> + <details key="start" value="508"/> + <details key="end" value="512"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppParamDoc/%.3/%.2"> + <details key="start" value="514"/> + <details key="end" value="524"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppParamDoc/parameter"> + <details key="start" value="443"/> + <details key="end" value="464"/> + <details key="line" value="20"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl index f5bb7f53e53..579035053b6 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl @@ -1,5 +1,5 @@ [module CppDocumentation('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [template public CppElementDoc(argument : Element)] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl index 7fdf6613cf4..939f5b8dc40 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl @@ -1,445 +1,440 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppEnumerations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations" endHeaderPosition="106">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../utils/GenUtils.emtl#/0"/>
- <imports href="CppDocumentation.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppEnumerationDefinition" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
enum "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="enum" referredVariable="/0/CppEnumerationDefinition/enum">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit/value"/>
- </body>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </argument>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",
"/>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/8/OrderedSet(EnumerationLiteral)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration/ownedLiteral"/>
- </iterSet>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="};
"/>
- <parameter name="enum">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppEnumerationDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppEnumerationDefinition"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="enum">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Enumeration_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(EnumerationLiteral)" instanceClassName="java.util.LinkedHashSet">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppEnumerationDefinition">
- <details key="start" value="252"/>
- <details key="end" value="513"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppEnumerationDefinition/%">
- <details key="start" value="316"/>
- <details key="end" value="331"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppEnumerationDefinition/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppEnumerationDefinition/%.1">
- <details key="start" value="333"/>
- <details key="end" value="339"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppEnumerationDefinition/%.2">
- <details key="start" value="340"/>
- <details key="end" value="349"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppEnumerationDefinition/%.2/enum">
- <details key="start" value="340"/>
- <details key="end" value="344"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppEnumerationDefinition/%.3">
- <details key="start" value="351"/>
- <details key="end" value="354"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppEnumerationDefinition/%.4">
- <details key="start" value="354"/>
- <details key="end" value="497"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppEnumerationDefinition/%.4/%">
- <details key="start" value="375"/>
- <details key="end" value="376"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppEnumerationDefinition/%.4/%.1">
- <details key="start" value="377"/>
- <details key="end" value="392"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppEnumerationDefinition/%.4/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppEnumerationDefinition/%.4/%.2">
- <details key="start" value="394"/>
- <details key="end" value="396"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppEnumerationDefinition/%.4/%.3">
- <details key="start" value="397"/>
- <details key="end" value="401"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppEnumerationDefinition/%.4/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppEnumerationDefinition/%.4/%.4">
- <details key="start" value="403"/>
- <details key="end" value="489"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppEnumerationDefinition/%.4/%.4/%">
- <details key="start" value="430"/>
- <details key="end" value="433"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppEnumerationDefinition/%.4/%.4/%.1">
- <details key="start" value="434"/>
- <details key="end" value="482"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%">
- <details key="start" value="434"/>
- <details key="end" value="476"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%">
- <details key="start" value="434"/>
- <details key="end" value="457"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/%">
- <details key="start" value="449"/>
- <details key="end" value="456"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%.1">
- <details key="start" value="468"/>
- <details key="end" value="475"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppEnumerationDefinition/%.4/%.4/%.2">
- <details key="start" value="407"/>
- <details key="end" value="429"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/%">
- <details key="start" value="421"/>
- <details key="end" value="428"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppEnumerationDefinition/%.4/%.5">
- <details key="start" value="489"/>
- <details key="end" value="491"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppEnumerationDefinition/%.4/%.6">
- <details key="start" value="360"/>
- <details key="end" value="372"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppEnumerationDefinition/%.4/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppEnumerationDefinition/%.5">
- <details key="start" value="498"/>
- <details key="end" value="501"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppEnumerationDefinition/enum">
- <details key="start" value="294"/>
- <details key="end" value="312"/>
- <details key="line" value="5"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppEnumerations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations" endHeaderPosition="106"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="CppDocumentation.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppEnumerationDefinition" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
enum "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="enum" referredVariable="/0/CppEnumerationDefinition/enum"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit/value"/> + </body> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/13/CppInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/> + </argument> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",
"/> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/8/OrderedSet(EnumerationLiteral)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration/ownedLiteral"/> + </iterSet> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="};
"/> + <parameter name="enum"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppEnumerationDefinition"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppEnumerationDefinition"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="enum"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="CppElementDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppDocumentation.emtl#/0/CppElementDoc"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="argument"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Enumeration_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(EnumerationLiteral)" instanceClassName="java.util.LinkedHashSet"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppInit"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//EnumerationLiteral"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppEnumerationDefinition"> + <details key="start" value="240"/> + <details key="end" value="501"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppEnumerationDefinition/%"> + <details key="start" value="304"/> + <details key="end" value="319"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppEnumerationDefinition/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppEnumerationDefinition/%.1"> + <details key="start" value="321"/> + <details key="end" value="327"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppEnumerationDefinition/%.2"> + <details key="start" value="328"/> + <details key="end" value="337"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppEnumerationDefinition/%.2/enum"> + <details key="start" value="328"/> + <details key="end" value="332"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppEnumerationDefinition/%.3"> + <details key="start" value="339"/> + <details key="end" value="342"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppEnumerationDefinition/%.4"> + <details key="start" value="342"/> + <details key="end" value="485"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppEnumerationDefinition/%.4/%"> + <details key="start" value="363"/> + <details key="end" value="364"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppEnumerationDefinition/%.4/%.1"> + <details key="start" value="365"/> + <details key="end" value="380"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppEnumerationDefinition/%.4/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppEnumerationDefinition/%.4/%.2"> + <details key="start" value="382"/> + <details key="end" value="384"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppEnumerationDefinition/%.4/%.3"> + <details key="start" value="385"/> + <details key="end" value="389"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppEnumerationDefinition/%.4/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppEnumerationDefinition/%.4/%.4"> + <details key="start" value="391"/> + <details key="end" value="477"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppEnumerationDefinition/%.4/%.4/%"> + <details key="start" value="418"/> + <details key="end" value="421"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppEnumerationDefinition/%.4/%.4/%.1"> + <details key="start" value="422"/> + <details key="end" value="470"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%"> + <details key="start" value="422"/> + <details key="end" value="464"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%"> + <details key="start" value="422"/> + <details key="end" value="445"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%/%"> + <details key="start" value="437"/> + <details key="end" value="444"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppEnumerationDefinition/%.4/%.4/%.1/%/%.1"> + <details key="start" value="456"/> + <details key="end" value="463"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppEnumerationDefinition/%.4/%.4/%.2"> + <details key="start" value="395"/> + <details key="end" value="417"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppEnumerationDefinition/%.4/%.4/%.2/%"> + <details key="start" value="409"/> + <details key="end" value="416"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppEnumerationDefinition/%.4/%.5"> + <details key="start" value="477"/> + <details key="end" value="479"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppEnumerationDefinition/%.4/%.6"> + <details key="start" value="348"/> + <details key="end" value="360"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppEnumerationDefinition/%.4/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppEnumerationDefinition/%.5"> + <details key="start" value="486"/> + <details key="end" value="489"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppEnumerationDefinition/enum"> + <details key="start" value="282"/> + <details key="end" value="300"/> + <details key="line" value="5"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl index 75f027b6d16..852bd3fac7e 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl @@ -1,5 +1,5 @@ [module CppEnumerations('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] [template public CppEnumerationDefinition(enum : Enumeration)] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl index 165b36a831e..47df8103f0d 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl @@ -1,531 +1,532 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppPrimitiveTypes" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppPrimitiveTypes" endHeaderPosition="108">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../utils/GenUtils.emtl#/0"/>
- <imports href="CppDocumentation.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="263" endPosition="1077" value="
 * Support two different kinds of primitive types
 * (1) those that are native types of the programming language such as long
 * For these, no additional definition has to be done and they should be referenced
 * with their name only
 * (2) those that correspond to a typedef (e.g. typedef long ErrorType). These require
 * a typedef definition within the package and need to be referenced with their
 * fully qualified name (e.g. MyPackage::ErrorType)
 * (3) Sometimes the name of the type defined by a typedef does not appear at the end, e.g.
 * when defining functionPointers such as "typedef int (*HandlerFct) (void*);"
 *	 (a function with a void* argument returning int)
 * Support this case via a specific 'typeName' constant that gets replaced by the name of the
 * type
 */
"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppPrimitiveTypeDefinition" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppDocumentation.emtl#/0/CppElementDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typedef "/>
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef/definition"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </argument>
- </body>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/contains">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef/definition"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </argument>
- </ifExpr>
- <else>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/getStdtypes"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/>
- </else>
- </body>
- <parameter name="primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- <eOperations name="replaceAll">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="substring">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="replacement">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="contains">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="substring">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppPrimitiveTypeDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppPrimitiveTypeDefinition"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getStdtypes">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/getStdtypes"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppElementDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppDocumentation.emtl#/0/CppElementDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="argument">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Typedef">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="255"/>
- <details key="end" value="1079"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppPrimitiveTypeDefinition">
- <details key="start" value="1080"/>
- <details key="end" value="1483"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppPrimitiveTypeDefinition/%">
- <details key="start" value="1157"/>
- <details key="end" value="1172"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppPrimitiveTypeDefinition/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppPrimitiveTypeDefinition/%.1">
- <details key="start" value="1174"/>
- <details key="end" value="1175"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppPrimitiveTypeDefinition/%.2">
- <details key="start" value="1175"/>
- <details key="end" value="1471"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppPrimitiveTypeDefinition/%.2/%">
- <details key="start" value="1205"/>
- <details key="end" value="1213"/>
- <details key="line" value="24"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppPrimitiveTypeDefinition/%.2/%.1">
- <details key="start" value="1214"/>
- <details key="end" value="1310"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%">
- <details key="start" value="1214"/>
- <details key="end" value="1267"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%">
- <details key="start" value="1214"/>
- <details key="end" value="1256"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%">
- <details key="start" value="1214"/>
- <details key="end" value="1237"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/%">
- <details key="start" value="1229"/>
- <details key="end" value="1236"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%.1">
- <details key="start" value="1248"/>
- <details key="end" value="1255"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.1">
- <details key="start" value="1279"/>
- <details key="end" value="1289"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2">
- <details key="start" value="1291"/>
- <details key="end" value="1309"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2/primitiveType">
- <details key="start" value="1291"/>
- <details key="end" value="1304"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppPrimitiveTypeDefinition/%.2/%.2">
- <details key="start" value="1314"/>
- <details key="end" value="1426"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%">
- <details key="start" value="1399"/>
- <details key="end" value="1400"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1">
- <details key="start" value="1401"/>
- <details key="end" value="1419"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1/primitiveType">
- <details key="start" value="1401"/>
- <details key="end" value="1414"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2">
- <details key="start" value="1318"/>
- <details key="end" value="1398"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%">
- <details key="start" value="1323"/>
- <details key="end" value="1397"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%">
- <details key="start" value="1323"/>
- <details key="end" value="1376"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%">
- <details key="start" value="1323"/>
- <details key="end" value="1365"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%">
- <details key="start" value="1323"/>
- <details key="end" value="1346"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/%">
- <details key="start" value="1338"/>
- <details key="end" value="1345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%.1">
- <details key="start" value="1357"/>
- <details key="end" value="1364"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%.1">
- <details key="start" value="1386"/>
- <details key="end" value="1396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppPrimitiveTypeDefinition/%.2/%.3">
- <details key="start" value="1426"/>
- <details key="end" value="1428"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppPrimitiveTypeDefinition/%.2/%.4">
- <details key="start" value="1179"/>
- <details key="end" value="1203"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/%">
- <details key="start" value="1194"/>
- <details key="end" value="1201"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppPrimitiveTypeDefinition/%.2/%.5">
- <details key="start" value="1428"/>
- <details key="end" value="1466"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%">
- <details key="start" value="1436"/>
- <details key="end" value="1462"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%/primitiveType">
- <details key="start" value="1448"/>
- <details key="end" value="1461"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%.1">
- <details key="start" value="1464"/>
- <details key="end" value="1466"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppPrimitiveTypeDefinition/primitiveType">
- <details key="start" value="1124"/>
- <details key="end" value="1153"/>
- <details key="line" value="21"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppPrimitiveTypes" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppPrimitiveTypes" endHeaderPosition="108"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../utils/CppGenUtils.emtl#/0"/> + <imports href="CppDocumentation.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="317" endPosition="1131" value="
 * Support two different kinds of primitive types
 * (1) those that are native types of the programming language such as long
 * For these, no additional definition has to be done and they should be referenced
 * with their name only
 * (2) those that correspond to a typedef (e.g. typedef long ErrorType). These require
 * a typedef definition within the package and need to be referenced with their
 * fully qualified name (e.g. MyPackage::ErrorType)
 * (3) Sometimes the name of the type defined by a typedef does not appear at the end, e.g.
 * when defining functionPointers such as "typedef int (*HandlerFct) (void*);"
 *	 (a function with a void* argument returning int)
 * Support this case via a specific 'typeName' constant that gets replaced by the name of the
 * type
 */
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppPrimitiveTypeDefinition" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typedef "/> + <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef/definition"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + </body> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/contains"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef/definition"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="typeName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Typedef"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + </argument> + </ifExpr> + <else> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/CppGenUtils.emtl#/0/getStdtypes"/> + <argument xsi:type="ocl.ecore:VariableExp" name="primitiveType" referredVariable="/0/CppPrimitiveTypeDefinition/primitiveType"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> + </else> + </body> + <parameter name="primitiveType"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + <eOperations name="replaceAll"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="substring"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="replacement"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="contains"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="substring"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppPrimitiveTypeDefinition"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppPrimitiveTypeDefinition"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="primitiveType"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getStdtypes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../utils/CppGenUtils.emtl#/0/getStdtypes"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eParameters> + </eOperations> + <eOperations name="CppElementDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppDocumentation.emtl#/0/CppElementDoc"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="argument"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Typedef"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Typedef"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="309"/> + <details key="end" value="1133"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppPrimitiveTypeDefinition"> + <details key="start" value="1134"/> + <details key="end" value="1537"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppPrimitiveTypeDefinition/%"> + <details key="start" value="1211"/> + <details key="end" value="1226"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppPrimitiveTypeDefinition/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppPrimitiveTypeDefinition/%.1"> + <details key="start" value="1228"/> + <details key="end" value="1229"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppPrimitiveTypeDefinition/%.2"> + <details key="start" value="1229"/> + <details key="end" value="1525"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppPrimitiveTypeDefinition/%.2/%"> + <details key="start" value="1259"/> + <details key="end" value="1267"/> + <details key="line" value="25"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppPrimitiveTypeDefinition/%.2/%.1"> + <details key="start" value="1268"/> + <details key="end" value="1364"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%"> + <details key="start" value="1268"/> + <details key="end" value="1321"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%"> + <details key="start" value="1268"/> + <details key="end" value="1310"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%"> + <details key="start" value="1268"/> + <details key="end" value="1291"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/%"> + <details key="start" value="1283"/> + <details key="end" value="1290"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%.1"> + <details key="start" value="1302"/> + <details key="end" value="1309"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.1"> + <details key="start" value="1333"/> + <details key="end" value="1343"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2"> + <details key="start" value="1345"/> + <details key="end" value="1363"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2/primitiveType"> + <details key="start" value="1345"/> + <details key="end" value="1358"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppPrimitiveTypeDefinition/%.2/%.2"> + <details key="start" value="1368"/> + <details key="end" value="1480"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%"> + <details key="start" value="1453"/> + <details key="end" value="1454"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1"> + <details key="start" value="1455"/> + <details key="end" value="1473"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1/primitiveType"> + <details key="start" value="1455"/> + <details key="end" value="1468"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2"> + <details key="start" value="1372"/> + <details key="end" value="1452"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%"> + <details key="start" value="1377"/> + <details key="end" value="1451"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%"> + <details key="start" value="1377"/> + <details key="end" value="1430"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%"> + <details key="start" value="1377"/> + <details key="end" value="1419"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%"> + <details key="start" value="1377"/> + <details key="end" value="1400"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/%"> + <details key="start" value="1392"/> + <details key="end" value="1399"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%.1"> + <details key="start" value="1411"/> + <details key="end" value="1418"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%.1"> + <details key="start" value="1440"/> + <details key="end" value="1450"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppPrimitiveTypeDefinition/%.2/%.3"> + <details key="start" value="1480"/> + <details key="end" value="1482"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppPrimitiveTypeDefinition/%.2/%.4"> + <details key="start" value="1233"/> + <details key="end" value="1257"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/%"> + <details key="start" value="1248"/> + <details key="end" value="1255"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppPrimitiveTypeDefinition/%.2/%.5"> + <details key="start" value="1482"/> + <details key="end" value="1520"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%"> + <details key="start" value="1490"/> + <details key="end" value="1516"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%/primitiveType"> + <details key="start" value="1502"/> + <details key="end" value="1515"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%.1"> + <details key="start" value="1518"/> + <details key="end" value="1520"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppPrimitiveTypeDefinition/primitiveType"> + <details key="start" value="1178"/> + <details key="end" value="1207"/> + <details key="line" value="22"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl index e8adc6eb5c6..6302902bbc0 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl @@ -1,5 +1,6 @@ [module CppPrimitiveTypes('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl index a7270984353..65fb68d29d7 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl @@ -1,839 +1,840 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppTemplates" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates" endHeaderPosition="61">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Query" name="CppTemplateBindingParameter" visibility="Public">
- <parameter name="tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <condition xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/>
- <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/>
- <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger/value"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/>
- <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="isTemplate" visibility="Public">
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <expression xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)">
- <definition href="../../utils/GenUtils.emtl#/0/getTemplateParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)_Class/size"/>
- </source>
- <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="templateSignature" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template<"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/getType"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </argument>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)">
- <definition href="../../utils/GenUtils.emtl#/0/getTemplateParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">
"/>
- <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="templateShortSignature" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="<"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../utils/GenUtils.emtl#/0/getName"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </argument>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)">
- <definition href="../../utils/GenUtils.emtl#/0/getTemplateParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="> "/>
- <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="templateSignature" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/templateSignature">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="templateShortSignature" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/templateShortSignature">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppTemplateBindingParameter">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppTemplateBindingParameter"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="tps">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eParameters>
- </eOperations>
- <eOperations name="isTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/isTemplate"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateSignature"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateShortSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateShortSignature"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateSignature.1"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateShortSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/templateShortSignature.1"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="getName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/getName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="getType">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/getType"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="getTemplateParameters">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../utils/GenUtils.emtl#/0/getTemplateParameters"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:CollectionType" href="../../utils/GenUtils.emtl#/3/Collection(TemplateParameter)"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="LiteralInteger">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(TemplateParameter)">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppTemplateBindingParameter">
- <details key="start" value="129"/>
- <details key="end" value="366"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppTemplateBindingParameter/tps">
- <details key="start" value="171"/>
- <details key="end" value="206"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppTemplateBindingParameter/%">
- <details key="start" value="219"/>
- <details key="end" value="363"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppTemplateBindingParameter/%/%">
- <details key="start" value="222"/>
- <details key="end" value="262"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppTemplateBindingParameter/%/%/%">
- <details key="start" value="223"/>
- <details key="end" value="233"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppTemplateBindingParameter/%/%/%/tps">
- <details key="start" value="223"/>
- <details key="end" value="226"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppTemplateBindingParameter/%/%/%.1">
- <details key="start" value="246"/>
- <details key="end" value="260"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppTemplateBindingParameter/%/%.1">
- <details key="start" value="269"/>
- <details key="end" value="311"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppTemplateBindingParameter/%/%.1/%">
- <details key="start" value="269"/>
- <details key="end" value="305"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppTemplateBindingParameter/%/%.1/%/%">
- <details key="start" value="269"/>
- <details key="end" value="279"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppTemplateBindingParameter/%/%.1/%/%/tps">
- <details key="start" value="269"/>
- <details key="end" value="272"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppTemplateBindingParameter/%/%.1/%/%.1">
- <details key="start" value="290"/>
- <details key="end" value="304"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppTemplateBindingParameter/%/%.2">
- <details key="start" value="318"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppTemplateBindingParameter/%/%.2/%">
- <details key="start" value="318"/>
- <details key="end" value="352"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppTemplateBindingParameter/%/%.2/%/%">
- <details key="start" value="318"/>
- <details key="end" value="328"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppTemplateBindingParameter/%/%.2/%/%/tps">
- <details key="start" value="318"/>
- <details key="end" value="321"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppTemplateBindingParameter/%/%.2/%/%.1">
- <details key="start" value="339"/>
- <details key="end" value="351"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/isTemplate">
- <details key="start" value="368"/>
- <details key="end" value="464"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/isTemplate/class">
- <details key="start" value="393"/>
- <details key="end" value="411"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/isTemplate/%">
- <details key="start" value="426"/>
- <details key="end" value="461"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/isTemplate/%/%">
- <details key="start" value="426"/>
- <details key="end" value="457"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/isTemplate/%/%/%">
- <details key="start" value="426"/>
- <details key="end" value="449"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/isTemplate/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/isTemplate/%/%.1">
- <details key="start" value="460"/>
- <details key="end" value="461"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/templateSignature">
- <details key="start" value="467"/>
- <details key="end" value="634"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/templateSignature/%">
- <details key="start" value="523"/>
- <details key="end" value="622"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/templateSignature/%/%">
- <details key="start" value="541"/>
- <details key="end" value="550"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/templateSignature/%/%.1">
- <details key="start" value="550"/>
- <details key="end" value="615"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/templateSignature/%/%.1/%">
- <details key="start" value="598"/>
- <details key="end" value="607"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/templateSignature/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/templateSignature/%/%.1/%.1">
- <details key="start" value="556"/>
- <details key="end" value="579"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/templateSignature/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/templateSignature/%/%.1/%.2">
- <details key="start" value="591"/>
- <details key="end" value="595"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/templateSignature/%/%.2">
- <details key="start" value="615"/>
- <details key="end" value="617"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/templateSignature/%/%.3">
- <details key="start" value="527"/>
- <details key="end" value="539"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/templateSignature/%/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/templateSignature/class">
- <details key="start" value="502"/>
- <details key="end" value="520"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/templateShortSignature">
- <details key="start" value="637"/>
- <details key="end" value="801"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/templateShortSignature/%">
- <details key="start" value="698"/>
- <details key="end" value="789"/>
- <details key="line" value="26"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/templateShortSignature/%/%">
- <details key="start" value="716"/>
- <details key="end" value="717"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/templateShortSignature/%/%.1">
- <details key="start" value="717"/>
- <details key="end" value="782"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/templateShortSignature/%/%.1/%">
- <details key="start" value="765"/>
- <details key="end" value="774"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/templateShortSignature/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/templateShortSignature/%/%.1/%.1">
- <details key="start" value="723"/>
- <details key="end" value="746"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/templateShortSignature/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/templateShortSignature/%/%.1/%.2">
- <details key="start" value="758"/>
- <details key="end" value="762"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/templateShortSignature/%/%.2">
- <details key="start" value="782"/>
- <details key="end" value="784"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/templateShortSignature/%/%.3">
- <details key="start" value="702"/>
- <details key="end" value="714"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/templateShortSignature/%/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/templateShortSignature/class">
- <details key="start" value="677"/>
- <details key="end" value="695"/>
- <details key="line" value="25"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/templateSignature.1">
- <details key="start" value="804"/>
- <details key="end" value="925"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/templateSignature.1/%">
- <details key="start" value="864"/>
- <details key="end" value="911"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/templateSignature.1/%/%">
- <details key="start" value="864"/>
- <details key="end" value="891"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/templateSignature.1/%/%/%">
- <details key="start" value="864"/>
- <details key="end" value="869"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/templateSignature.1/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/templateSignature.1/%/%/%.1">
- <details key="start" value="880"/>
- <details key="end" value="890"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/templateSignature.1/operation">
- <details key="start" value="839"/>
- <details key="end" value="860"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/templateShortSignature.1">
- <details key="start" value="928"/>
- <details key="end" value="1059"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/templateShortSignature.1/%">
- <details key="start" value="993"/>
- <details key="end" value="1045"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/templateShortSignature.1/%/%">
- <details key="start" value="993"/>
- <details key="end" value="1020"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/templateShortSignature.1/%/%/%">
- <details key="start" value="993"/>
- <details key="end" value="998"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/templateShortSignature.1/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/templateShortSignature.1/%/%/%.1">
- <details key="start" value="1009"/>
- <details key="end" value="1019"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/templateShortSignature.1/operation">
- <details key="start" value="968"/>
- <details key="end" value="989"/>
- <details key="line" value="36"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppTemplates" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates" endHeaderPosition="61"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../utils/CppGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Query" name="CppTemplateBindingParameter" visibility="Public"> + <parameter name="tps"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <condition xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/> + <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/> + <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/LiteralInteger"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger/value"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement"/> + <source xsi:type="ocl.ecore:VariableExp" name="tps" referredVariable="/0/CppTemplateBindingParameter/tps"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution/actual"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/NamedElement"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="isTemplate" visibility="Public"> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)"> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)_Class/size"/> + </source> + <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="templateSignature" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template<"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../utils/CppGenUtils.emtl#/0/getTemplateTypeName"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </argument> + </body> + <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)"> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </iterSet> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">
"/> + <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </ifExpr> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="templateShortSignature" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="<"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateName"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </argument> + </body> + <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)"> + <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </iterSet> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="> "/> + <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isTemplate"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </ifExpr> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="templateSignature" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/templateSignature"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="templateShortSignature" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/templateShortSignature"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppTemplateBindingParameter"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppTemplateBindingParameter"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="tps"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eParameters> + </eOperations> + <eOperations name="isTemplate"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/isTemplate"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="templateSignature"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/templateSignature"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="templateShortSignature"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/templateShortSignature"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="templateSignature"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/templateSignature.1"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="templateShortSignature"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/templateShortSignature.1"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="getTemplateName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eParameters> + </eOperations> + <eOperations name="getTemplateParameters"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:CollectionType" href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Collection(TemplateParameter)"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getTemplateTypeName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../utils/CppGenUtils.emtl#/0/getTemplateTypeName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="LiteralInteger"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//LiteralInteger"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(TemplateParameter)"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppTemplateBindingParameter"> + <details key="start" value="183"/> + <details key="end" value="420"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppTemplateBindingParameter/tps"> + <details key="start" value="225"/> + <details key="end" value="260"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppTemplateBindingParameter/%"> + <details key="start" value="273"/> + <details key="end" value="417"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppTemplateBindingParameter/%/%"> + <details key="start" value="276"/> + <details key="end" value="316"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppTemplateBindingParameter/%/%/%"> + <details key="start" value="277"/> + <details key="end" value="287"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppTemplateBindingParameter/%/%/%/tps"> + <details key="start" value="277"/> + <details key="end" value="280"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppTemplateBindingParameter/%/%/%.1"> + <details key="start" value="300"/> + <details key="end" value="314"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppTemplateBindingParameter/%/%.1"> + <details key="start" value="323"/> + <details key="end" value="365"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppTemplateBindingParameter/%/%.1/%"> + <details key="start" value="323"/> + <details key="end" value="359"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppTemplateBindingParameter/%/%.1/%/%"> + <details key="start" value="323"/> + <details key="end" value="333"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppTemplateBindingParameter/%/%.1/%/%/tps"> + <details key="start" value="323"/> + <details key="end" value="326"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppTemplateBindingParameter/%/%.1/%/%.1"> + <details key="start" value="344"/> + <details key="end" value="358"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppTemplateBindingParameter/%/%.2"> + <details key="start" value="372"/> + <details key="end" value="411"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppTemplateBindingParameter/%/%.2/%"> + <details key="start" value="372"/> + <details key="end" value="406"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppTemplateBindingParameter/%/%.2/%/%"> + <details key="start" value="372"/> + <details key="end" value="382"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppTemplateBindingParameter/%/%.2/%/%/tps"> + <details key="start" value="372"/> + <details key="end" value="375"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppTemplateBindingParameter/%/%.2/%/%.1"> + <details key="start" value="393"/> + <details key="end" value="405"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/isTemplate"> + <details key="start" value="422"/> + <details key="end" value="518"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/isTemplate/class"> + <details key="start" value="447"/> + <details key="end" value="465"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/isTemplate/%"> + <details key="start" value="480"/> + <details key="end" value="515"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/isTemplate/%/%"> + <details key="start" value="480"/> + <details key="end" value="511"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/isTemplate/%/%/%"> + <details key="start" value="480"/> + <details key="end" value="503"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/isTemplate/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/isTemplate/%/%.1"> + <details key="start" value="514"/> + <details key="end" value="515"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/templateSignature"> + <details key="start" value="521"/> + <details key="end" value="700"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/templateSignature/%"> + <details key="start" value="577"/> + <details key="end" value="688"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/templateSignature/%/%"> + <details key="start" value="595"/> + <details key="end" value="604"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/templateSignature/%/%.1"> + <details key="start" value="604"/> + <details key="end" value="681"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/templateSignature/%/%.1/%"> + <details key="start" value="652"/> + <details key="end" value="673"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/templateSignature/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/templateSignature/%/%.1/%.1"> + <details key="start" value="610"/> + <details key="end" value="633"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/templateSignature/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/templateSignature/%/%.1/%.2"> + <details key="start" value="645"/> + <details key="end" value="649"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/templateSignature/%/%.2"> + <details key="start" value="681"/> + <details key="end" value="683"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/templateSignature/%/%.3"> + <details key="start" value="581"/> + <details key="end" value="593"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/templateSignature/%/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/templateSignature/class"> + <details key="start" value="556"/> + <details key="end" value="574"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/templateShortSignature"> + <details key="start" value="703"/> + <details key="end" value="875"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/templateShortSignature/%"> + <details key="start" value="764"/> + <details key="end" value="863"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/templateShortSignature/%/%"> + <details key="start" value="782"/> + <details key="end" value="783"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/templateShortSignature/%/%.1"> + <details key="start" value="783"/> + <details key="end" value="856"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/templateShortSignature/%/%.1/%"> + <details key="start" value="831"/> + <details key="end" value="848"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/templateShortSignature/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/templateShortSignature/%/%.1/%.1"> + <details key="start" value="789"/> + <details key="end" value="812"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/templateShortSignature/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/templateShortSignature/%/%.1/%.2"> + <details key="start" value="824"/> + <details key="end" value="828"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/templateShortSignature/%/%.2"> + <details key="start" value="856"/> + <details key="end" value="858"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/templateShortSignature/%/%.3"> + <details key="start" value="768"/> + <details key="end" value="780"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/templateShortSignature/%/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/templateShortSignature/class"> + <details key="start" value="743"/> + <details key="end" value="761"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/templateSignature.1"> + <details key="start" value="878"/> + <details key="end" value="999"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/templateSignature.1/%"> + <details key="start" value="938"/> + <details key="end" value="985"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/templateSignature.1/%/%"> + <details key="start" value="938"/> + <details key="end" value="965"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/templateSignature.1/%/%/%"> + <details key="start" value="938"/> + <details key="end" value="943"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/templateSignature.1/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/templateSignature.1/%/%/%.1"> + <details key="start" value="954"/> + <details key="end" value="964"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/templateSignature.1/operation"> + <details key="start" value="913"/> + <details key="end" value="934"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/templateShortSignature.1"> + <details key="start" value="1002"/> + <details key="end" value="1133"/> + <details key="line" value="37"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/templateShortSignature.1/%"> + <details key="start" value="1067"/> + <details key="end" value="1119"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/templateShortSignature.1/%/%"> + <details key="start" value="1067"/> + <details key="end" value="1094"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/templateShortSignature.1/%/%/%"> + <details key="start" value="1067"/> + <details key="end" value="1072"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/templateShortSignature.1/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/templateShortSignature.1/%/%/%.1"> + <details key="start" value="1083"/> + <details key="end" value="1093"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/templateShortSignature.1/operation"> + <details key="start" value="1042"/> + <details key="end" value="1063"/> + <details key="line" value="37"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl index d7c7786cc02..d4d6907036f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl @@ -1,5 +1,6 @@ [module CppTemplates('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [query public CppTemplateBindingParameter(tps : TemplateParameterSubstitution) : String = @@ -17,14 +18,14 @@ endif [template public templateSignature(class : Classifier)] [if isTemplate()] -template<[for (getTemplateParameters()) separator(', ')][getType()/][/for]> +template<[for (getTemplateParameters()) separator(', ')][getTemplateTypeName()/][/for]> [/if] [/template] [template public templateShortSignature(class : Classifier)] [if isTemplate()] -<[for (getTemplateParameters()) separator(', ')][getName()/][/for]> [/if] +<[for (getTemplateParameters()) separator(', ')][getTemplateName()/][/for]> [/if] [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl index 0f3f0c16d4c..a200248b23e 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl @@ -1,283 +1,247 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassAttributesDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassAttributesDeclaration" endHeaderPosition="78">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../CppAttribute.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAttributesDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Property)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/6/Set(Property)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassAttributesDeclaration/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassAttributesDeclaration/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </iterator>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassAttributesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAttributesDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppAttributeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="attribute">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Property_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassAttributesDeclaration">
- <details key="start" value="222"/>
- <details key="end" value="431"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassAttributesDeclaration/%">
- <details key="start" value="325"/>
- <details key="end" value="419"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassAttributesDeclaration/%/%">
- <details key="start" value="382"/>
- <details key="end" value="384"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassAttributesDeclaration/%/%.1">
- <details key="start" value="385"/>
- <details key="end" value="410"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassAttributesDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassAttributesDeclaration/%/%.2">
- <details key="start" value="412"/>
- <details key="end" value="413"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassAttributesDeclaration/%/select">
- <details key="start" value="331"/>
- <details key="end" value="379"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassAttributesDeclaration/%/select/%">
- <details key="start" value="331"/>
- <details key="end" value="340"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassAttributesDeclaration/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassAttributesDeclaration/%/select/%.1">
- <details key="start" value="349"/>
- <details key="end" value="378"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassAttributesDeclaration/%/select/%.1/%">
- <details key="start" value="349"/>
- <details key="end" value="359"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassAttributesDeclaration/%/select/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassAttributesDeclaration/%/select/%.1/visibilityFilter">
- <details key="start" value="362"/>
- <details key="end" value="378"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassAttributesDeclaration/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassAttributesDeclaration/class">
- <details key="start" value="269"/>
- <details key="end" value="287"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassAttributesDeclaration/visibilityFilter">
- <details key="start" value="289"/>
- <details key="end" value="322"/>
- <details key="line" value="7"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassAttributesDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassAttributesDeclaration" endHeaderPosition="78"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../CppAttribute.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAttributesDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Property)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/6/Set(Property)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassAttributesDeclaration/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassAttributesDeclaration/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </iterator> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassAttributesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAttributesDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppAttributeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppAttribute.emtl#/0/CppAttributeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Property_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassAttributesDeclaration"> + <details key="start" value="159"/> + <details key="end" value="368"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassAttributesDeclaration/%"> + <details key="start" value="262"/> + <details key="end" value="356"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassAttributesDeclaration/%/%"> + <details key="start" value="319"/> + <details key="end" value="321"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassAttributesDeclaration/%/%.1"> + <details key="start" value="322"/> + <details key="end" value="347"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassAttributesDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassAttributesDeclaration/%/%.2"> + <details key="start" value="349"/> + <details key="end" value="350"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassAttributesDeclaration/%/select"> + <details key="start" value="268"/> + <details key="end" value="316"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassAttributesDeclaration/%/select/%"> + <details key="start" value="268"/> + <details key="end" value="277"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassAttributesDeclaration/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassAttributesDeclaration/%/select/%.1"> + <details key="start" value="286"/> + <details key="end" value="315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassAttributesDeclaration/%/select/%.1/%"> + <details key="start" value="286"/> + <details key="end" value="296"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassAttributesDeclaration/%/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassAttributesDeclaration/%/select/%.1/visibilityFilter"> + <details key="start" value="299"/> + <details key="end" value="315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassAttributesDeclaration/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassAttributesDeclaration/class"> + <details key="start" value="206"/> + <details key="end" value="224"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassAttributesDeclaration/visibilityFilter"> + <details key="start" value="226"/> + <details key="end" value="259"/> + <details key="line" value="6"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl index b3e0089002a..7ff3bd720e9 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl @@ -1,5 +1,4 @@ [module CppClassAttributesDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl index c3d8931a75b..ffca31cec93 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl @@ -1,398 +1,402 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassFriendDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration" endHeaderPosition="74">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassFriendDeclaration" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="friend class "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="friend" referredVariable="/0/CppClassFriendDeclaration/friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeFriendDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassFriendDeclaration">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/14/Friend">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/14/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/11/Sequence(Classifier)">
- <definition href="../../../utils/GenUtils.emtl#/0/getUsedClassifiers"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassFriendDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassFriendDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="friend">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeFriendDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeFriendDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getUsedClassifiers">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getUsedClassifiers"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/GenUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Friend">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassFriendDeclaration">
- <details key="start" value="142"/>
- <details key="end" value="258"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassFriendDeclaration/%">
- <details key="start" value="207"/>
- <details key="end" value="220"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassFriendDeclaration/%.1">
- <details key="start" value="221"/>
- <details key="end" value="243"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassFriendDeclaration/%.1/friend">
- <details key="start" value="221"/>
- <details key="end" value="227"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassFriendDeclaration/%.2">
- <details key="start" value="245"/>
- <details key="end" value="246"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassFriendDeclaration/friend">
- <details key="start" value="185"/>
- <details key="end" value="204"/>
- <details key="line" value="5"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassIncludeFriendDeclaration">
- <details key="start" value="260"/>
- <details key="end" value="495"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassIncludeFriendDeclaration/%">
- <details key="start" value="331"/>
- <details key="end" value="483"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassIncludeFriendDeclaration/%/%">
- <details key="start" value="361"/>
- <details key="end" value="476"/>
- <details key="line" value="11"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassIncludeFriendDeclaration/%/%/%">
- <details key="start" value="437"/>
- <details key="end" value="439"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1">
- <details key="start" value="440"/>
- <details key="end" value="467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassIncludeFriendDeclaration/%/%/%.2">
- <details key="start" value="469"/>
- <details key="end" value="470"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3">
- <details key="start" value="365"/>
- <details key="end" value="435"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%">
- <details key="start" value="365"/>
- <details key="end" value="393"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/%">
- <details key="start" value="379"/>
- <details key="end" value="392"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1">
- <details key="start" value="398"/>
- <details key="end" value="435"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%">
- <details key="start" value="403"/>
- <details key="end" value="434"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/%">
- <details key="start" value="417"/>
- <details key="end" value="433"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppClassIncludeFriendDeclaration/%/%.1">
- <details key="start" value="337"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppClassIncludeFriendDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppClassIncludeFriendDeclaration/class">
- <details key="start" value="310"/>
- <details key="end" value="328"/>
- <details key="line" value="9"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassFriendDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration" endHeaderPosition="116"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassFriendDeclaration" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="friend class "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:VariableExp" name="friend" referredVariable="/0/CppClassFriendDeclaration/friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeFriendDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassFriendDeclaration"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/14/Friend"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/14/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <iterSet xsi:type="mtl:QueryInvocation" eType="/11/Sequence(Classifier)"> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassFriendDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassFriendDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="friend"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeFriendDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeFriendDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getUsedClassifiers"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Friend"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Friend"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassFriendDeclaration"> + <details key="start" value="238"/> + <details key="end" value="357"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassFriendDeclaration/%"> + <details key="start" value="303"/> + <details key="end" value="316"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassFriendDeclaration/%.1"> + <details key="start" value="317"/> + <details key="end" value="342"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassFriendDeclaration/%.1/friend"> + <details key="start" value="317"/> + <details key="end" value="323"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassFriendDeclaration/%.2"> + <details key="start" value="344"/> + <details key="end" value="345"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassFriendDeclaration/friend"> + <details key="start" value="281"/> + <details key="end" value="300"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassIncludeFriendDeclaration"> + <details key="start" value="359"/> + <details key="end" value="594"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassIncludeFriendDeclaration/%"> + <details key="start" value="430"/> + <details key="end" value="582"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassIncludeFriendDeclaration/%/%"> + <details key="start" value="460"/> + <details key="end" value="575"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassIncludeFriendDeclaration/%/%/%"> + <details key="start" value="536"/> + <details key="end" value="538"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1"> + <details key="start" value="539"/> + <details key="end" value="566"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassIncludeFriendDeclaration/%/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassIncludeFriendDeclaration/%/%/%.2"> + <details key="start" value="568"/> + <details key="end" value="569"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3"> + <details key="start" value="464"/> + <details key="end" value="534"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%"> + <details key="start" value="464"/> + <details key="end" value="492"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%/%"> + <details key="start" value="478"/> + <details key="end" value="491"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1"> + <details key="start" value="497"/> + <details key="end" value="534"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%"> + <details key="start" value="502"/> + <details key="end" value="533"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppClassIncludeFriendDeclaration/%/%/%.3/%.1/%/%"> + <details key="start" value="516"/> + <details key="end" value="532"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppClassIncludeFriendDeclaration/%/%.1"> + <details key="start" value="436"/> + <details key="end" value="456"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppClassIncludeFriendDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppClassIncludeFriendDeclaration/class"> + <details key="start" value="409"/> + <details key="end" value="427"/> + <details key="line" value="10"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl index 8b7b07755d8..943a3f3131f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl @@ -1,9 +1,10 @@ -[module CppClassFriendDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[module CppClassFriendDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [template public CppClassFriendDeclaration(friend : Classifier)] -friend class [friend.qualifiedName()/]; +friend class [friend.cppQualifiedName()/]; [/template] [template public CppClassIncludeFriendDeclaration(class : Classifier)] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl index c67f5d5aa93..24dc2910a08 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl @@ -1,1095 +1,1096 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassIncludeClassDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration" endHeaderPosition="122">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../utils/ClassUtils.emtl#/0"/>
- <imports href="CppClassIncludeDeclaration.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="358" endPosition="367" value=" USED??? "/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeClassDeclarationTemplate" visibility="Public">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/openNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template "/>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CppTemplate.class">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/closeNS"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOwnerPackageIncludeDeclaration" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/* Owner package header include */
#include <"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h>
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CppRoot">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <parameter name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)">
- <definition href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclarationBody" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)">
- <definition href="../../../utils/GenUtils.emtl#/0/getDependencies"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppOwnerPackageIncludeDeclaration">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </ifExpr>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- <else>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- </else>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludesDeclaration.1/class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/15/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- </body>
- <loopVariable name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </loopVariable>
- <iterSet xsi:type="ocl.ecore:VariableExp" name="list" eType="/3/Sequence(Classifier)" referredVariable="/0/CppClassAllIncludesDeclaration.1/list"/>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="list" eType="/3/Sequence(Classifier)"/>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassIncludeClassDeclarationTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeClassDeclarationTemplate"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOwnerPackageIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOwnerPackageIncludeDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclarationBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclarationBody"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassAllIncludesDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration.1"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="list" eType="/3/Sequence(Classifier)"/>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="getDependencies">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getDependencies"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/GenUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="openNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/openNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="closeNS">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/closeNS"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="includedClassifiers">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/ClassUtils.emtl#/3/Sequence(Classifier)"/>
- <eParameters name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppRoot">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Package">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="350"/>
- <details key="end" value="369"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassIncludeClassDeclarationTemplate">
- <details key="start" value="370"/>
- <details key="end" value="560"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassIncludeClassDeclarationTemplate/%">
- <details key="start" value="444"/>
- <details key="end" value="452"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassIncludeClassDeclarationTemplate/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassIncludeClassDeclarationTemplate/%.1">
- <details key="start" value="454"/>
- <details key="end" value="455"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassIncludeClassDeclarationTemplate/%.2">
- <details key="start" value="455"/>
- <details key="end" value="515"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%">
- <details key="start" value="501"/>
- <details key="end" value="510"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1">
- <details key="start" value="459"/>
- <details key="end" value="500"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/class">
- <details key="start" value="473"/>
- <details key="end" value="478"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/%">
- <details key="start" value="480"/>
- <details key="end" value="499"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassIncludeClassDeclarationTemplate/%.3">
- <details key="start" value="515"/>
- <details key="end" value="521"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassIncludeClassDeclarationTemplate/%.4">
- <details key="start" value="522"/>
- <details key="end" value="532"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassIncludeClassDeclarationTemplate/%.4/class">
- <details key="start" value="522"/>
- <details key="end" value="527"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassIncludeClassDeclarationTemplate/%.5">
- <details key="start" value="534"/>
- <details key="end" value="536"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassIncludeClassDeclarationTemplate/%.6">
- <details key="start" value="537"/>
- <details key="end" value="546"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassIncludeClassDeclarationTemplate/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassIncludeClassDeclarationTemplate/class">
- <details key="start" value="427"/>
- <details key="end" value="440"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppOwnerPackageIncludeDeclaration">
- <details key="start" value="563"/>
- <details key="end" value="870"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppOwnerPackageIncludeDeclaration/%">
- <details key="start" value="689"/>
- <details key="end" value="857"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppOwnerPackageIncludeDeclaration/%/%">
- <details key="start" value="743"/>
- <details key="end" value="816"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1">
- <details key="start" value="817"/>
- <details key="end" value="830"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppOwnerPackageIncludeDeclaration/%/%.2">
- <details key="start" value="832"/>
- <details key="end" value="837"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3">
- <details key="start" value="838"/>
- <details key="end" value="846"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3/pkg">
- <details key="start" value="838"/>
- <details key="end" value="841"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppOwnerPackageIncludeDeclaration/%/%.4">
- <details key="start" value="848"/>
- <details key="end" value="852"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5">
- <details key="start" value="693"/>
- <details key="end" value="741"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%">
- <details key="start" value="694"/>
- <details key="end" value="707"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/pkg">
- <details key="start" value="695"/>
- <details key="end" value="698"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/%">
- <details key="start" value="702"/>
- <details key="end" value="706"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1">
- <details key="start" value="712"/>
- <details key="end" value="740"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%">
- <details key="start" value="717"/>
- <details key="end" value="739"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/%">
- <details key="start" value="731"/>
- <details key="end" value="738"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppOwnerPackageIncludeDeclaration/pkg">
- <details key="start" value="614"/>
- <details key="end" value="627"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppClassAllIncludesDeclaration">
- <details key="start" value="873"/>
- <details key="end" value="1010"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassAllIncludesDeclaration/%">
- <details key="start" value="943"/>
- <details key="end" value="996"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassAllIncludesDeclaration/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassAllIncludesDeclaration/%/%">
- <details key="start" value="974"/>
- <details key="end" value="995"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassAllIncludesDeclaration/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassAllIncludesDeclaration/class">
- <details key="start" value="921"/>
- <details key="end" value="939"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassAllIncludesDeclarationBody">
- <details key="start" value="1012"/>
- <details key="end" value="1149"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppClassAllIncludesDeclarationBody/%">
- <details key="start" value="1086"/>
- <details key="end" value="1135"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppClassAllIncludesDeclarationBody/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppClassAllIncludesDeclarationBody/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1134"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppClassAllIncludesDeclarationBody/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassAllIncludesDeclarationBody/class">
- <details key="start" value="1064"/>
- <details key="end" value="1082"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassAllIncludesDeclaration.1">
- <details key="start" value="1151"/>
- <details key="end" value="2056"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassAllIncludesDeclaration.1/%">
- <details key="start" value="1250"/>
- <details key="end" value="2044"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassAllIncludesDeclaration.1/%/%">
- <details key="start" value="1450"/>
- <details key="end" value="2037"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassAllIncludesDeclaration.1/%/%/%">
- <details key="start" value="1537"/>
- <details key="end" value="2030"/>
- <details key="line" value="36"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%">
- <details key="start" value="1810"/>
- <details key="end" value="1922"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1911"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1875"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%">
- <details key="start" value="1848"/>
- <details key="end" value="1856"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%/cl">
- <details key="start" value="1848"/>
- <details key="end" value="1850"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%.1">
- <details key="start" value="1867"/>
- <details key="end" value="1874"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.1">
- <details key="start" value="1913"/>
- <details key="end" value="1914"/>
- <details key="line" value="41"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2">
- <details key="start" value="1814"/>
- <details key="end" value="1845"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%">
- <details key="start" value="1815"/>
- <details key="end" value="1823"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%/cl">
- <details key="start" value="1815"/>
- <details key="end" value="1817"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%.1">
- <details key="start" value="1836"/>
- <details key="end" value="1843"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1">
- <details key="start" value="1540"/>
- <details key="end" value="1596"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%">
- <details key="start" value="1541"/>
- <details key="end" value="1565"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/%">
- <details key="start" value="1553"/>
- <details key="end" value="1564"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1">
- <details key="start" value="1569"/>
- <details key="end" value="1595"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/%">
- <details key="start" value="1581"/>
- <details key="end" value="1594"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2">
- <details key="start" value="1925"/>
- <details key="end" value="2025"/>
- <details key="line" value="42"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%">
- <details key="start" value="1992"/>
- <details key="end" value="2020"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%.1">
- <details key="start" value="2022"/>
- <details key="end" value="2023"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1">
- <details key="start" value="1453"/>
- <details key="end" value="1533"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%">
- <details key="start" value="1454"/>
- <details key="end" value="1502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%">
- <details key="start" value="1454"/>
- <details key="end" value="1467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/cl">
- <details key="start" value="1455"/>
- <details key="end" value="1457"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/class">
- <details key="start" value="1461"/>
- <details key="end" value="1466"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1">
- <details key="start" value="1472"/>
- <details key="end" value="1502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%">
- <details key="start" value="1477"/>
- <details key="end" value="1501"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/%">
- <details key="start" value="1491"/>
- <details key="end" value="1500"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1">
- <details key="start" value="1506"/>
- <details key="end" value="1532"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/%">
- <details key="start" value="1520"/>
- <details key="end" value="1531"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/CppClassAllIncludesDeclaration.1/%/cl">
- <details key="start" value="1256"/>
- <details key="end" value="1271"/>
- <details key="line" value="32"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/CppClassAllIncludesDeclaration.1/%/list">
- <details key="start" value="1274"/>
- <details key="end" value="1278"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/CppClassAllIncludesDeclaration.1/class">
- <details key="start" value="1199"/>
- <details key="end" value="1217"/>
- <details key="line" value="31"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/CppClassAllIncludesDeclaration.1/list">
- <details key="start" value="1219"/>
- <details key="end" value="1246"/>
- <details key="line" value="31"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassIncludeClassDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration" endHeaderPosition="122"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <imports href="../../../utils/ClassUtils.emtl#/0"/> + <imports href="CppClassIncludeDeclaration.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="412" endPosition="421" value=" USED??? "/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeClassDeclarationTemplate" visibility="Public"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/openNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="template "/> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype"/> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CppTemplate.class"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassIncludeClassDeclarationTemplate/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/closeNS"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppOwnerPackageIncludeDeclaration" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/* Owner package header include */
#include <"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h>
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CppRoot"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <parameter name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)"> + <definition href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclarationBody" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppClassAllIncludesDeclaration.1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)"> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassAllIncludesDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppOwnerPackageIncludeDeclaration"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + <else> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + </else> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludesDeclaration.1/class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/15/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + </body> + <loopVariable name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:VariableExp" name="list" eType="/3/Sequence(Classifier)" referredVariable="/0/CppClassAllIncludesDeclaration.1/list"/> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="list" eType="/3/Sequence(Classifier)"/> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassIncludeClassDeclarationTemplate"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeClassDeclarationTemplate"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eParameters> + </eOperations> + <eOperations name="CppOwnerPackageIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppOwnerPackageIncludeDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclarationBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclarationBody"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassAllIncludesDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclaration.1"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="list" eType="/3/Sequence(Classifier)"/> + </eOperations> + <eOperations name="getTypesViaDependencies"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/openNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/closeNS"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="includedClassifiers"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/ClassUtils.emtl#/0/includedClassifiers"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="../../../utils/ClassUtils.emtl#/3/Sequence(Classifier)"/> + <eParameters name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppClassIncludeDeclaration.emtl#/0/CppClassIncludeDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="CppRoot"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//CppRoot"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Package"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="404"/> + <details key="end" value="423"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassIncludeClassDeclarationTemplate"> + <details key="start" value="424"/> + <details key="end" value="614"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassIncludeClassDeclarationTemplate/%"> + <details key="start" value="498"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassIncludeClassDeclarationTemplate/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassIncludeClassDeclarationTemplate/%.1"> + <details key="start" value="508"/> + <details key="end" value="509"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassIncludeClassDeclarationTemplate/%.2"> + <details key="start" value="509"/> + <details key="end" value="569"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%"> + <details key="start" value="555"/> + <details key="end" value="564"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1"> + <details key="start" value="513"/> + <details key="end" value="554"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/class"> + <details key="start" value="527"/> + <details key="end" value="532"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassIncludeClassDeclarationTemplate/%.2/%.1/%"> + <details key="start" value="534"/> + <details key="end" value="553"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassIncludeClassDeclarationTemplate/%.3"> + <details key="start" value="569"/> + <details key="end" value="575"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassIncludeClassDeclarationTemplate/%.4"> + <details key="start" value="576"/> + <details key="end" value="586"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassIncludeClassDeclarationTemplate/%.4/class"> + <details key="start" value="576"/> + <details key="end" value="581"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassIncludeClassDeclarationTemplate/%.5"> + <details key="start" value="588"/> + <details key="end" value="590"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassIncludeClassDeclarationTemplate/%.6"> + <details key="start" value="591"/> + <details key="end" value="600"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassIncludeClassDeclarationTemplate/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassIncludeClassDeclarationTemplate/class"> + <details key="start" value="481"/> + <details key="end" value="494"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppOwnerPackageIncludeDeclaration"> + <details key="start" value="617"/> + <details key="end" value="924"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppOwnerPackageIncludeDeclaration/%"> + <details key="start" value="743"/> + <details key="end" value="911"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppOwnerPackageIncludeDeclaration/%/%"> + <details key="start" value="797"/> + <details key="end" value="870"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1"> + <details key="start" value="871"/> + <details key="end" value="884"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppOwnerPackageIncludeDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppOwnerPackageIncludeDeclaration/%/%.2"> + <details key="start" value="886"/> + <details key="end" value="891"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3"> + <details key="start" value="892"/> + <details key="end" value="900"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppOwnerPackageIncludeDeclaration/%/%.3/pkg"> + <details key="start" value="892"/> + <details key="end" value="895"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppOwnerPackageIncludeDeclaration/%/%.4"> + <details key="start" value="902"/> + <details key="end" value="906"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5"> + <details key="start" value="747"/> + <details key="end" value="795"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%"> + <details key="start" value="748"/> + <details key="end" value="761"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/pkg"> + <details key="start" value="749"/> + <details key="end" value="752"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%/%"> + <details key="start" value="756"/> + <details key="end" value="760"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1"> + <details key="start" value="766"/> + <details key="end" value="794"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%"> + <details key="start" value="771"/> + <details key="end" value="793"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppOwnerPackageIncludeDeclaration/%/%.5/%.1/%/%"> + <details key="start" value="785"/> + <details key="end" value="792"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppOwnerPackageIncludeDeclaration/pkg"> + <details key="start" value="668"/> + <details key="end" value="681"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppClassAllIncludesDeclaration"> + <details key="start" value="927"/> + <details key="end" value="1064"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassAllIncludesDeclaration/%"> + <details key="start" value="997"/> + <details key="end" value="1050"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassAllIncludesDeclaration/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassAllIncludesDeclaration/%/%"> + <details key="start" value="1028"/> + <details key="end" value="1049"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassAllIncludesDeclaration/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassAllIncludesDeclaration/class"> + <details key="start" value="975"/> + <details key="end" value="993"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassAllIncludesDeclarationBody"> + <details key="start" value="1066"/> + <details key="end" value="1211"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppClassAllIncludesDeclarationBody/%"> + <details key="start" value="1140"/> + <details key="end" value="1197"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppClassAllIncludesDeclarationBody/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppClassAllIncludesDeclarationBody/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1196"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppClassAllIncludesDeclarationBody/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassAllIncludesDeclarationBody/class"> + <details key="start" value="1118"/> + <details key="end" value="1136"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppClassAllIncludesDeclaration.1"> + <details key="start" value="1213"/> + <details key="end" value="2110"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppClassAllIncludesDeclaration.1/%"> + <details key="start" value="1312"/> + <details key="end" value="2098"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassAllIncludesDeclaration.1/%/%"> + <details key="start" value="1507"/> + <details key="end" value="2091"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppClassAllIncludesDeclaration.1/%/%/%"> + <details key="start" value="1591"/> + <details key="end" value="2084"/> + <details key="line" value="37"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%"> + <details key="start" value="1864"/> + <details key="end" value="1976"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1965"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1929"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%"> + <details key="start" value="1902"/> + <details key="end" value="1910"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%/cl"> + <details key="start" value="1902"/> + <details key="end" value="1904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%/%/%.1"> + <details key="start" value="1921"/> + <details key="end" value="1928"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.1"> + <details key="start" value="1967"/> + <details key="end" value="1968"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2"> + <details key="start" value="1868"/> + <details key="end" value="1899"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%"> + <details key="start" value="1869"/> + <details key="end" value="1877"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%/cl"> + <details key="start" value="1869"/> + <details key="end" value="1871"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%/%.2/%.1"> + <details key="start" value="1890"/> + <details key="end" value="1897"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1"> + <details key="start" value="1594"/> + <details key="end" value="1650"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%"> + <details key="start" value="1595"/> + <details key="end" value="1619"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%/%"> + <details key="start" value="1607"/> + <details key="end" value="1618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1"> + <details key="start" value="1623"/> + <details key="end" value="1649"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.1/%.1/%"> + <details key="start" value="1635"/> + <details key="end" value="1648"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2"> + <details key="start" value="1979"/> + <details key="end" value="2079"/> + <details key="line" value="43"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%"> + <details key="start" value="2046"/> + <details key="end" value="2074"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/CppClassAllIncludesDeclaration.1/%/%/%/%.2/%.1"> + <details key="start" value="2076"/> + <details key="end" value="2077"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1"> + <details key="start" value="1510"/> + <details key="end" value="1587"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%"> + <details key="start" value="1511"/> + <details key="end" value="1559"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%"> + <details key="start" value="1511"/> + <details key="end" value="1524"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/cl"> + <details key="start" value="1512"/> + <details key="end" value="1514"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%/class"> + <details key="start" value="1518"/> + <details key="end" value="1523"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1"> + <details key="start" value="1529"/> + <details key="end" value="1559"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%"> + <details key="start" value="1534"/> + <details key="end" value="1558"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%/%.1/%/%"> + <details key="start" value="1548"/> + <details key="end" value="1557"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1"> + <details key="start" value="1563"/> + <details key="end" value="1586"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/CppClassAllIncludesDeclaration.1/%/%/%.1/%.1/%"> + <details key="start" value="1577"/> + <details key="end" value="1585"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/CppClassAllIncludesDeclaration.1/%/cl"> + <details key="start" value="1318"/> + <details key="end" value="1333"/> + <details key="line" value="33"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/CppClassAllIncludesDeclaration.1/%/list"> + <details key="start" value="1336"/> + <details key="end" value="1340"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/CppClassAllIncludesDeclaration.1/class"> + <details key="start" value="1261"/> + <details key="end" value="1279"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/CppClassAllIncludesDeclaration.1/list"> + <details key="start" value="1281"/> + <details key="end" value="1308"/> + <details key="line" value="32"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl index 90d6de49b7f..f066e657317 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl @@ -1,5 +1,6 @@ [module CppClassIncludeClassDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::ClassUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration/] @@ -25,7 +26,7 @@ [/template] [template public CppClassAllIncludesDeclarationBody(class : Classifier)] -[CppClassAllIncludesDeclaration(getDependencies())/] +[CppClassAllIncludesDeclaration(getTypesViaDependencies())/] [/template] [template public CppClassAllIncludesDeclaration(class : Classifier, list : Sequence(Classifier) )] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl index b03edb71c9c..9512edf6c79 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl @@ -1,553 +1,548 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassIncludeDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration" endHeaderPosition="117">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../preferences/CppCodeGenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Query" name="includeName" visibility="Public">
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template/declaration"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/4/ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass/name"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/includeName/ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </argument>
- </elseExpression>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="665" endPosition="748" value=" TODO: original code did not use nearest package, if stereotype CppRoot was applied"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeDeclaration" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/includeName">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/CppClassIncludeDeclaration/ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">"/>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- <eOperations name="+">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="other">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="includeName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/includeName"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassIncludeDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassIncludeDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getFullPath">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getFullPath"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="getHeaderSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Template">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ExternClass">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternClass"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/includeName">
- <details key="start" value="261"/>
- <details key="end" value="655"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/includeName/ne">
- <details key="start" value="287"/>
- <details key="end" value="304"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/includeName/%">
- <details key="start" value="317"/>
- <details key="end" value="652"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/includeName/%/%">
- <details key="start" value="320"/>
- <details key="end" value="345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/includeName/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/includeName/%/%/%">
- <details key="start" value="335"/>
- <details key="end" value="343"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/includeName/%/%.1">
- <details key="start" value="352"/>
- <details key="end" value="408"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/includeName/%/%.1/%">
- <details key="start" value="352"/>
- <details key="end" value="396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/includeName/%/%.1/%/%">
- <details key="start" value="352"/>
- <details key="end" value="376"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/includeName/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/includeName/%/%.1/%/%/%">
- <details key="start" value="367"/>
- <details key="end" value="375"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/includeName/%/%.1/%/%.1">
- <details key="start" value="387"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/includeName/%/%.2">
- <details key="start" value="415"/>
- <details key="end" value="646"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/includeName/%/%.2/%">
- <details key="start" value="418"/>
- <details key="end" value="446"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/includeName/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/includeName/%/%.2/%/%">
- <details key="start" value="433"/>
- <details key="end" value="444"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/includeName/%/%.2/%.1">
- <details key="start" value="452"/>
- <details key="end" value="507"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/includeName/%/%.2/%.1/%">
- <details key="start" value="452"/>
- <details key="end" value="502"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/includeName/%/%.2/%.1/%/%">
- <details key="start" value="452"/>
- <details key="end" value="479"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/includeName/%/%.2/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/includeName/%/%.2/%.1/%/%/%">
- <details key="start" value="467"/>
- <details key="end" value="478"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/includeName/%/%.2/%.1/%/%.1">
- <details key="start" value="490"/>
- <details key="end" value="501"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/includeName/%/%.2/%.2">
- <details key="start" value="564"/>
- <details key="end" value="639"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/includeName/%/%.2/%.2/%">
- <details key="start" value="564"/>
- <details key="end" value="619"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/includeName/%/%.2/%.2/%/%">
- <details key="start" value="564"/>
- <details key="end" value="613"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/includeName/%/%.2/%.2/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/includeName/%/%.2/%.2/%/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="597"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/includeName/%/%.2/%.2/%/%/%/%/%">
- <details key="start" value="564"/>
- <details key="end" value="583"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/includeName/%/%.2/%.2/%/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/includeName/%/%.2/%.2/%/%/%/%.1">
- <details key="start" value="600"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/includeName/%/%.2/%.2/%/%/%.1">
- <details key="start" value="606"/>
- <details key="end" value="613"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/includeName/%/%.2/%.2/%/%/%.1/ne">
- <details key="start" value="606"/>
- <details key="end" value="608"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/includeName/%/%.2/%.2/%/%.1">
- <details key="start" value="616"/>
- <details key="end" value="619"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/includeName/%/%.2/%.2/%.1">
- <details key="start" value="622"/>
- <details key="end" value="639"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/includeName/%/%.2/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/%">
- <details key="start" value="657"/>
- <details key="end" value="750"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassIncludeDeclaration">
- <details key="start" value="751"/>
- <details key="end" value="857"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassIncludeDeclaration/%">
- <details key="start" value="815"/>
- <details key="end" value="825"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassIncludeDeclaration/%.1">
- <details key="start" value="826"/>
- <details key="end" value="842"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassIncludeDeclaration/%.1/ne">
- <details key="start" value="826"/>
- <details key="end" value="828"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassIncludeDeclaration/%.2">
- <details key="start" value="844"/>
- <details key="end" value="845"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassIncludeDeclaration/ne">
- <details key="start" value="795"/>
- <details key="end" value="812"/>
- <details key="line" value="19"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassIncludeDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration" endHeaderPosition="117"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../preferences/CppCodeGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Query" name="includeName" visibility="Public"> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template/declaration"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/4/External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External/name"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/includeName/ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + </argument> + </elseExpression> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="644" endPosition="727" value=" TODO: original code did not use nearest package, if stereotype CppRoot was applied"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeDeclaration" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/> + <body xsi:type="mtl:QueryInvocation" definition="/0/includeName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/CppClassIncludeDeclaration/ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">"/> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + <eOperations name="+"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="other"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="includeName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/includeName"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="CppClassIncludeDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassIncludeDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getFullPath"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getHeaderSuffix"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Template"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Template"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="External"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//External"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/includeName"> + <details key="start" value="249"/> + <details key="end" value="634"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/includeName/ne"> + <details key="start" value="275"/> + <details key="end" value="292"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/includeName/%"> + <details key="start" value="305"/> + <details key="end" value="631"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/includeName/%/%"> + <details key="start" value="308"/> + <details key="end" value="333"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/includeName/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/includeName/%/%/%"> + <details key="start" value="323"/> + <details key="end" value="331"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/includeName/%/%.1"> + <details key="start" value="340"/> + <details key="end" value="396"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/includeName/%/%.1/%"> + <details key="start" value="340"/> + <details key="end" value="384"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/includeName/%/%.1/%/%"> + <details key="start" value="340"/> + <details key="end" value="364"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/includeName/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/includeName/%/%.1/%/%/%"> + <details key="start" value="355"/> + <details key="end" value="363"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/includeName/%/%.1/%/%.1"> + <details key="start" value="375"/> + <details key="end" value="383"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/includeName/%/%.2"> + <details key="start" value="403"/> + <details key="end" value="625"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/includeName/%/%.2/%"> + <details key="start" value="406"/> + <details key="end" value="431"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/includeName/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/includeName/%/%.2/%/%"> + <details key="start" value="421"/> + <details key="end" value="429"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/includeName/%/%.2/%.1"> + <details key="start" value="437"/> + <details key="end" value="486"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/includeName/%/%.2/%.1/%"> + <details key="start" value="437"/> + <details key="end" value="481"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/includeName/%/%.2/%.1/%/%"> + <details key="start" value="437"/> + <details key="end" value="461"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/includeName/%/%.2/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/includeName/%/%.2/%.1/%/%/%"> + <details key="start" value="452"/> + <details key="end" value="460"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/includeName/%/%.2/%.1/%/%.1"> + <details key="start" value="472"/> + <details key="end" value="480"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/includeName/%/%.2/%.2"> + <details key="start" value="543"/> + <details key="end" value="618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/includeName/%/%.2/%.2/%"> + <details key="start" value="543"/> + <details key="end" value="598"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/includeName/%/%.2/%.2/%/%"> + <details key="start" value="543"/> + <details key="end" value="592"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/includeName/%/%.2/%.2/%/%/%"> + <details key="start" value="543"/> + <details key="end" value="582"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/includeName/%/%.2/%.2/%/%/%/%"> + <details key="start" value="543"/> + <details key="end" value="576"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/includeName/%/%.2/%.2/%/%/%/%/%"> + <details key="start" value="543"/> + <details key="end" value="562"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/includeName/%/%.2/%.2/%/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/includeName/%/%.2/%.2/%/%/%/%.1"> + <details key="start" value="579"/> + <details key="end" value="582"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/includeName/%/%.2/%.2/%/%/%.1"> + <details key="start" value="585"/> + <details key="end" value="592"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/includeName/%/%.2/%.2/%/%/%.1/ne"> + <details key="start" value="585"/> + <details key="end" value="587"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/includeName/%/%.2/%.2/%/%.1"> + <details key="start" value="595"/> + <details key="end" value="598"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/includeName/%/%.2/%.2/%.1"> + <details key="start" value="601"/> + <details key="end" value="618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/includeName/%/%.2/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/%"> + <details key="start" value="636"/> + <details key="end" value="729"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassIncludeDeclaration"> + <details key="start" value="730"/> + <details key="end" value="836"/> + <details key="line" value="19"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassIncludeDeclaration/%"> + <details key="start" value="794"/> + <details key="end" value="804"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassIncludeDeclaration/%.1"> + <details key="start" value="805"/> + <details key="end" value="821"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassIncludeDeclaration/%.1/ne"> + <details key="start" value="805"/> + <details key="end" value="807"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassIncludeDeclaration/%.2"> + <details key="start" value="823"/> + <details key="end" value="824"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassIncludeDeclaration/ne"> + <details key="start" value="774"/> + <details key="end" value="791"/> + <details key="line" value="19"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl index 3ec9d358aa2..f615a1214c6 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl @@ -1,5 +1,5 @@ [module CppClassIncludeDeclaration('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl index fa0009daaec..fd599c4a091 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl @@ -1,738 +1,739 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassInheritedDeclarations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassInheritedDeclarations" endHeaderPosition="120">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="195" endPosition="462" value="
Return a list of relationships that are either Generalizations or InterfaceRealiazations
and the target does not point to a classifier that has the no-code-gen Stereotype
TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.
"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="filteredRelationships" visibility="Public" type="/3/Set(DirectedRelationship)">
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Set(DirectedRelationship)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(DirectedRelationship)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getSourceDirectedRelationships"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Generalization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/InterfaceRealization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </iterator>
- </expression>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="getCppVisibility" visibility="Public">
- <parameter name="relationship">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility/value"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="public">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassInheritedDeclarations" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships">
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/size"/>
- </source>
- <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/getCppVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <iterSet xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships">
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", 
">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="filteredRelationships" eType="/3/Set(DirectedRelationship)">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/filteredRelationships"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="getCppVisibility">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/getCppVisibility"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="relationship">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassInheritedDeclarations">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassInheritedDeclarations"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Relationship_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(DirectedRelationship)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Generalization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="InterfaceRealization">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Visibility">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="187"/>
- <details key="end" value="464"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/filteredRelationships">
- <details key="start" value="465"/>
- <details key="end" value="736"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/filteredRelationships/class">
- <details key="start" value="501"/>
- <details key="end" value="519"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/filteredRelationships/select">
- <details key="start" value="552"/>
- <details key="end" value="732"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/filteredRelationships/select/%">
- <details key="start" value="552"/>
- <details key="end" value="584"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/filteredRelationships/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/filteredRelationships/select/%.1">
- <details key="start" value="596"/>
- <details key="end" value="729"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/filteredRelationships/select/%.1/%">
- <details key="start" value="596"/>
- <details key="end" value="662"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/filteredRelationships/select/%.1/%/%">
- <details key="start" value="597"/>
- <details key="end" value="624"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/filteredRelationships/select/%.1/%/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/filteredRelationships/select/%.1/%/%/%">
- <details key="start" value="609"/>
- <details key="end" value="623"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/filteredRelationships/select/%.1/%/%.1">
- <details key="start" value="628"/>
- <details key="end" value="661"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/filteredRelationships/select/%.1/%/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/filteredRelationships/select/%.1/%/%.1/%">
- <details key="start" value="640"/>
- <details key="end" value="660"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/filteredRelationships/select/%.1/%.1">
- <details key="start" value="669"/>
- <details key="end" value="729"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/filteredRelationships/select/%.1/%.1/%">
- <details key="start" value="674"/>
- <details key="end" value="728"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/filteredRelationships/select/%.1/%.1/%/%">
- <details key="start" value="674"/>
- <details key="end" value="703"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/filteredRelationships/select/%.1/%.1/%/%/%">
- <details key="start" value="674"/>
- <details key="end" value="694"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%">
- <details key="start" value="674"/>
- <details key="end" value="680"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/filteredRelationships/select/%.1/%.1/%/%.1">
- <details key="start" value="718"/>
- <details key="end" value="727"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/filteredRelationships/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/getCppVisibility">
- <details key="start" value="738"/>
- <details key="end" value="922"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/getCppVisibility/relationship">
- <details key="start" value="769"/>
- <details key="end" value="796"/>
- <details key="line" value="16"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/getCppVisibility/%">
- <details key="start" value="809"/>
- <details key="end" value="919"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/getCppVisibility/%/%">
- <details key="start" value="812"/>
- <details key="end" value="839"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/getCppVisibility/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/getCppVisibility/%/%/%">
- <details key="start" value="827"/>
- <details key="end" value="837"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/getCppVisibility/%/%.1">
- <details key="start" value="845"/>
- <details key="end" value="899"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/getCppVisibility/%/%.1/%">
- <details key="start" value="845"/>
- <details key="end" value="893"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/getCppVisibility/%/%.1/%/%">
- <details key="start" value="845"/>
- <details key="end" value="871"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/getCppVisibility/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/getCppVisibility/%/%.1/%/%/%">
- <details key="start" value="860"/>
- <details key="end" value="870"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/getCppVisibility/%/%.1/%/%.1">
- <details key="start" value="882"/>
- <details key="end" value="892"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/getCppVisibility/%/%.2">
- <details key="start" value="905"/>
- <details key="end" value="913"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppClassInheritedDeclarations">
- <details key="start" value="924"/>
- <details key="end" value="1205"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppClassInheritedDeclarations/%">
- <details key="start" value="992"/>
- <details key="end" value="1042"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppClassInheritedDeclarations/%/%">
- <details key="start" value="1034"/>
- <details key="end" value="1037"/>
- <details key="line" value="21"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppClassInheritedDeclarations/%/%.1">
- <details key="start" value="996"/>
- <details key="end" value="1033"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppClassInheritedDeclarations/%/%.1/%">
- <details key="start" value="997"/>
- <details key="end" value="1028"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppClassInheritedDeclarations/%/%.1/%/%">
- <details key="start" value="997"/>
- <details key="end" value="1020"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppClassInheritedDeclarations/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppClassInheritedDeclarations/%/%.1/%.1">
- <details key="start" value="1031"/>
- <details key="end" value="1032"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppClassInheritedDeclarations/%.1">
- <details key="start" value="1042"/>
- <details key="end" value="1043"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppClassInheritedDeclarations/%.2">
- <details key="start" value="1043"/>
- <details key="end" value="1192"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppClassInheritedDeclarations/%.2/%">
- <details key="start" value="1093"/>
- <details key="end" value="1094"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassInheritedDeclarations/%.2/%.1">
- <details key="start" value="1095"/>
- <details key="end" value="1113"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassInheritedDeclarations/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassInheritedDeclarations/%.2/%.2">
- <details key="start" value="1115"/>
- <details key="end" value="1116"/>
- <details key="line" value="23"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassInheritedDeclarations/%.2/%.3">
- <details key="start" value="1117"/>
- <details key="end" value="1184"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassInheritedDeclarations/%.2/%.3/%">
- <details key="start" value="1117"/>
- <details key="end" value="1168"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1146"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1137"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%">
- <details key="start" value="1117"/>
- <details key="end" value="1123"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%.1">
- <details key="start" value="1157"/>
- <details key="end" value="1167"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppClassInheritedDeclarations/%.2/%.4">
- <details key="start" value="1049"/>
- <details key="end" value="1072"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppClassInheritedDeclarations/%.2/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppClassInheritedDeclarations/%.2/%.5">
- <details key="start" value="1084"/>
- <details key="end" value="1090"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppClassInheritedDeclarations/class">
- <details key="start" value="971"/>
- <details key="end" value="989"/>
- <details key="line" value="20"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassInheritedDeclarations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassInheritedDeclarations" endHeaderPosition="120"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="249" endPosition="516" value="
Return a list of relationships that are either Generalizations or InterfaceRealiazations
and the target does not point to a classifier that has the no-code-gen Stereotype
TODO: not sure if it makes sense NOT to declare an inheritance, since we do not generate code.
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="filteredRelationships" visibility="Public" type="/3/Set(DirectedRelationship)"> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <expression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Set(DirectedRelationship)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(DirectedRelationship)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getSourceDirectedRelationships"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Generalization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/InterfaceRealization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/filteredRelationships/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </iterator> + </expression> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="getCppVisibility" visibility="Public"> + <parameter name="relationship"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility/value"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="public"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassInheritedDeclarations" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/size"/> + </source> + <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:QueryInvocation" definition="/0/getCppVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Element)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship/target"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <iterSet xsi:type="mtl:QueryInvocation" eType="/3/Set(DirectedRelationship)" definition="/0/filteredRelationships"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </iterSet> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", 
"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="filteredRelationships" eType="/3/Set(DirectedRelationship)"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/filteredRelationships"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getCppVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getCppVisibility"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="relationship"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </eParameters> + </eOperations> + <eOperations name="CppClassInheritedDeclarations"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassInheritedDeclarations"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Relationship_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(DirectedRelationship)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Generalization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="InterfaceRealization"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Visibility"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Visibility"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Relationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DirectedRelationship"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="241"/> + <details key="end" value="518"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/filteredRelationships"> + <details key="start" value="519"/> + <details key="end" value="790"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/filteredRelationships/class"> + <details key="start" value="555"/> + <details key="end" value="573"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/filteredRelationships/select"> + <details key="start" value="606"/> + <details key="end" value="786"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/filteredRelationships/select/%"> + <details key="start" value="606"/> + <details key="end" value="638"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/filteredRelationships/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/filteredRelationships/select/%.1"> + <details key="start" value="650"/> + <details key="end" value="783"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/filteredRelationships/select/%.1/%"> + <details key="start" value="650"/> + <details key="end" value="716"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/filteredRelationships/select/%.1/%/%"> + <details key="start" value="651"/> + <details key="end" value="678"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/filteredRelationships/select/%.1/%/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/filteredRelationships/select/%.1/%/%/%"> + <details key="start" value="663"/> + <details key="end" value="677"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/filteredRelationships/select/%.1/%/%.1"> + <details key="start" value="682"/> + <details key="end" value="715"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/filteredRelationships/select/%.1/%/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/filteredRelationships/select/%.1/%/%.1/%"> + <details key="start" value="694"/> + <details key="end" value="714"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/filteredRelationships/select/%.1/%.1"> + <details key="start" value="723"/> + <details key="end" value="783"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/filteredRelationships/select/%.1/%.1/%"> + <details key="start" value="728"/> + <details key="end" value="782"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/filteredRelationships/select/%.1/%.1/%/%"> + <details key="start" value="728"/> + <details key="end" value="757"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/filteredRelationships/select/%.1/%.1/%/%/%"> + <details key="start" value="728"/> + <details key="end" value="748"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%"> + <details key="start" value="728"/> + <details key="end" value="734"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/filteredRelationships/select/%.1/%.1/%/%/%/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/filteredRelationships/select/%.1/%.1/%/%.1"> + <details key="start" value="772"/> + <details key="end" value="781"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/filteredRelationships/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/getCppVisibility"> + <details key="start" value="792"/> + <details key="end" value="976"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/getCppVisibility/relationship"> + <details key="start" value="823"/> + <details key="end" value="850"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/getCppVisibility/%"> + <details key="start" value="863"/> + <details key="end" value="973"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/getCppVisibility/%/%"> + <details key="start" value="866"/> + <details key="end" value="893"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/getCppVisibility/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/getCppVisibility/%/%/%"> + <details key="start" value="881"/> + <details key="end" value="891"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/getCppVisibility/%/%.1"> + <details key="start" value="899"/> + <details key="end" value="953"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/getCppVisibility/%/%.1/%"> + <details key="start" value="899"/> + <details key="end" value="947"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/getCppVisibility/%/%.1/%/%"> + <details key="start" value="899"/> + <details key="end" value="925"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/getCppVisibility/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/getCppVisibility/%/%.1/%/%/%"> + <details key="start" value="914"/> + <details key="end" value="924"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/getCppVisibility/%/%.1/%/%.1"> + <details key="start" value="936"/> + <details key="end" value="946"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/getCppVisibility/%/%.2"> + <details key="start" value="959"/> + <details key="end" value="967"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppClassInheritedDeclarations"> + <details key="start" value="978"/> + <details key="end" value="1262"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppClassInheritedDeclarations/%"> + <details key="start" value="1046"/> + <details key="end" value="1096"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppClassInheritedDeclarations/%/%"> + <details key="start" value="1088"/> + <details key="end" value="1091"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppClassInheritedDeclarations/%/%.1"> + <details key="start" value="1050"/> + <details key="end" value="1087"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppClassInheritedDeclarations/%/%.1/%"> + <details key="start" value="1051"/> + <details key="end" value="1082"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppClassInheritedDeclarations/%/%.1/%/%"> + <details key="start" value="1051"/> + <details key="end" value="1074"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppClassInheritedDeclarations/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppClassInheritedDeclarations/%/%.1/%.1"> + <details key="start" value="1085"/> + <details key="end" value="1086"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppClassInheritedDeclarations/%.1"> + <details key="start" value="1096"/> + <details key="end" value="1097"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppClassInheritedDeclarations/%.2"> + <details key="start" value="1097"/> + <details key="end" value="1249"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppClassInheritedDeclarations/%.2/%"> + <details key="start" value="1147"/> + <details key="end" value="1148"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassInheritedDeclarations/%.2/%.1"> + <details key="start" value="1149"/> + <details key="end" value="1167"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppClassInheritedDeclarations/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppClassInheritedDeclarations/%.2/%.2"> + <details key="start" value="1169"/> + <details key="end" value="1170"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassInheritedDeclarations/%.2/%.3"> + <details key="start" value="1171"/> + <details key="end" value="1241"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppClassInheritedDeclarations/%.2/%.3/%"> + <details key="start" value="1171"/> + <details key="end" value="1222"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1200"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1191"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%"> + <details key="start" value="1171"/> + <details key="end" value="1177"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassInheritedDeclarations/%.2/%.3/%/%.1"> + <details key="start" value="1211"/> + <details key="end" value="1221"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassInheritedDeclarations/%.2/%.4"> + <details key="start" value="1103"/> + <details key="end" value="1126"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppClassInheritedDeclarations/%.2/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppClassInheritedDeclarations/%.2/%.5"> + <details key="start" value="1138"/> + <details key="end" value="1144"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppClassInheritedDeclarations/class"> + <details key="start" value="1025"/> + <details key="end" value="1043"/> + <details key="line" value="21"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl index bc74fb1d96d..f23c427aef4 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl @@ -1,5 +1,6 @@ [module CppClassInheritedDeclarations('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [comment Return a list of relationships that are either Generalizations or InterfaceRealiazations @@ -20,5 +21,5 @@ if (hasStereotype(Visibility)) then getApplication(Visibility).oclAsType(Visibil [template public CppClassInheritedDeclarations(class : Classifier)] [if (filteredRelationships()->size() > 0)] : [/if] [for (filteredRelationships()) separator(', \n')] - [getCppVisibility()/] [target->asSequence()->first().oclAsType(Classifier).qualifiedName()/][/for] + [getCppVisibility()/] [target->asSequence()->first().oclAsType(Classifier).cppQualifiedName()/][/for] [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl index 1a9b879d1e2..d5881c6a4cc 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl @@ -1,278 +1,252 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassOperationsDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsDeclaration" endHeaderPosition="78">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../operation/CppOperations.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsDeclaration" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 	"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsDeclaration/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassOperationsDeclaration/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </iterator>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassOperationsDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassOperationsDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/CppClassOperationsDeclaration">
- <details key="start" value="233"/>
- <details key="end" value="449"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassOperationsDeclaration/%">
- <details key="start" value="336"/>
- <details key="end" value="437"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassOperationsDeclaration/%/%">
- <details key="start" value="399"/>
- <details key="end" value="402"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassOperationsDeclaration/%/%.1">
- <details key="start" value="403"/>
- <details key="end" value="428"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassOperationsDeclaration/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassOperationsDeclaration/%/%.2">
- <details key="start" value="430"/>
- <details key="end" value="431"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassOperationsDeclaration/%/select">
- <details key="start" value="342"/>
- <details key="end" value="396"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassOperationsDeclaration/%/select/%">
- <details key="start" value="342"/>
- <details key="end" value="357"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassOperationsDeclaration/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassOperationsDeclaration/%/select/%.1">
- <details key="start" value="366"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassOperationsDeclaration/%/select/%.1/%">
- <details key="start" value="366"/>
- <details key="end" value="376"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassOperationsDeclaration/%/select/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassOperationsDeclaration/%/select/%.1/visibilityFilter">
- <details key="start" value="379"/>
- <details key="end" value="395"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassOperationsDeclaration/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassOperationsDeclaration/class">
- <details key="start" value="280"/>
- <details key="end" value="298"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassOperationsDeclaration/visibilityFilter">
- <details key="start" value="300"/>
- <details key="end" value="333"/>
- <details key="line" value="6"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassOperationsDeclaration" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsDeclaration" endHeaderPosition="78"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="../operation/CppOperations.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsDeclaration" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 	"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsDeclaration/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/CppClassOperationsDeclaration/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </iterator> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassOperationsDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassOperationsDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../operation/CppOperations.emtl#/0/CppOperationDeclaration"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/CppClassOperationsDeclaration"> + <details key="start" value="170"/> + <details key="end" value="386"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassOperationsDeclaration/%"> + <details key="start" value="273"/> + <details key="end" value="374"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassOperationsDeclaration/%/%"> + <details key="start" value="336"/> + <details key="end" value="339"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassOperationsDeclaration/%/%.1"> + <details key="start" value="340"/> + <details key="end" value="365"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassOperationsDeclaration/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassOperationsDeclaration/%/%.2"> + <details key="start" value="367"/> + <details key="end" value="368"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassOperationsDeclaration/%/select"> + <details key="start" value="279"/> + <details key="end" value="333"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassOperationsDeclaration/%/select/%"> + <details key="start" value="279"/> + <details key="end" value="294"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassOperationsDeclaration/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassOperationsDeclaration/%/select/%.1"> + <details key="start" value="303"/> + <details key="end" value="332"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassOperationsDeclaration/%/select/%.1/%"> + <details key="start" value="303"/> + <details key="end" value="313"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassOperationsDeclaration/%/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassOperationsDeclaration/%/select/%.1/visibilityFilter"> + <details key="start" value="316"/> + <details key="end" value="332"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassOperationsDeclaration/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassOperationsDeclaration/class"> + <details key="start" value="217"/> + <details key="end" value="235"/> + <details key="line" value="5"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassOperationsDeclaration/visibilityFilter"> + <details key="start" value="237"/> + <details key="end" value="270"/> + <details key="line" value="5"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl index fc53a585cb6..bc129027d9f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl @@ -1,5 +1,4 @@ [module CppClassOperationsDeclaration('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl index 10420f1e1be..5b94db52449 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl @@ -1,389 +1,384 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassOperationsImplementation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsImplementation" endHeaderPosition="123">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../operation/CppOperations.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="286" endPosition="405" value=" implementations of a classifier, parameter controls whether only inline (or only not inline) operations
 are produced"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsImplementation" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Inline">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="inline" referredVariable="/0/CppClassOperationsImplementation/inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </iterator>
- </iterSet>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- <parameter name="inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="CppClassOperationsImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassOperationsImplementation"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- <eParameters name="inline">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eClassifiers>
- </ecore:EPackage>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Inline">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/%">
- <details key="start" value="278"/>
- <details key="end" value="407"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/CppClassOperationsImplementation">
- <details key="start" value="408"/>
- <details key="end" value="677"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/CppClassOperationsImplementation/%">
- <details key="start" value="497"/>
- <details key="end" value="665"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/CppClassOperationsImplementation/%/%">
- <details key="start" value="626"/>
- <details key="end" value="627"/>
- <details key="line" value="12"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/CppClassOperationsImplementation/%/%.1">
- <details key="start" value="628"/>
- <details key="end" value="656"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/CppClassOperationsImplementation/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/CppClassOperationsImplementation/%/%.2">
- <details key="start" value="658"/>
- <details key="end" value="659"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/CppClassOperationsImplementation/%/select">
- <details key="start" value="503"/>
- <details key="end" value="623"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/CppClassOperationsImplementation/%/select/%">
- <details key="start" value="503"/>
- <details key="end" value="518"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/CppClassOperationsImplementation/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/CppClassOperationsImplementation/%/select/%.1">
- <details key="start" value="530"/>
- <details key="end" value="622"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/CppClassOperationsImplementation/%/select/%.1/%">
- <details key="start" value="530"/>
- <details key="end" value="576"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%">
- <details key="start" value="535"/>
- <details key="end" value="575"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%">
- <details key="start" value="536"/>
- <details key="end" value="560"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/%">
- <details key="start" value="550"/>
- <details key="end" value="559"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1">
- <details key="start" value="564"/>
- <details key="end" value="574"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1">
- <details key="start" value="583"/>
- <details key="end" value="622"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%">
- <details key="start" value="584"/>
- <details key="end" value="612"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/%">
- <details key="start" value="598"/>
- <details key="end" value="611"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/inline">
- <details key="start" value="615"/>
- <details key="end" value="621"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppClassOperationsImplementation/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppClassOperationsImplementation/class">
- <details key="start" value="458"/>
- <details key="end" value="476"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppClassOperationsImplementation/inline">
- <details key="start" value="478"/>
- <details key="end" value="494"/>
- <details key="line" value="8"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassOperationsImplementation" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsImplementation" endHeaderPosition="123"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../operation/CppOperations.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="274" endPosition="393" value=" implementations of a classifier, parameter controls whether only inline (or only not inline) operations
 are produced"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassOperationsImplementation" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Set(Operation)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getOperations"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Inline"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="inline" referredVariable="/0/CppClassOperationsImplementation/inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </iterator> + </iterSet> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <parameter name="inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="CppClassOperationsImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassOperationsImplementation"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + <eParameters name="inline"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../operation/CppOperations.emtl#/0/CppOperationImplementation"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Operation)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eClassifiers> + </ecore:EPackage> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Inline"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/%"> + <details key="start" value="266"/> + <details key="end" value="395"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/CppClassOperationsImplementation"> + <details key="start" value="396"/> + <details key="end" value="665"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/CppClassOperationsImplementation/%"> + <details key="start" value="485"/> + <details key="end" value="653"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/CppClassOperationsImplementation/%/%"> + <details key="start" value="614"/> + <details key="end" value="615"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/CppClassOperationsImplementation/%/%.1"> + <details key="start" value="616"/> + <details key="end" value="644"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/CppClassOperationsImplementation/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/CppClassOperationsImplementation/%/%.2"> + <details key="start" value="646"/> + <details key="end" value="647"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/CppClassOperationsImplementation/%/select"> + <details key="start" value="491"/> + <details key="end" value="611"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/CppClassOperationsImplementation/%/select/%"> + <details key="start" value="491"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/CppClassOperationsImplementation/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/CppClassOperationsImplementation/%/select/%.1"> + <details key="start" value="518"/> + <details key="end" value="610"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/CppClassOperationsImplementation/%/select/%.1/%"> + <details key="start" value="518"/> + <details key="end" value="564"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%"> + <details key="start" value="523"/> + <details key="end" value="563"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%"> + <details key="start" value="524"/> + <details key="end" value="548"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%/%"> + <details key="start" value="538"/> + <details key="end" value="547"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1"> + <details key="start" value="552"/> + <details key="end" value="562"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1"> + <details key="start" value="571"/> + <details key="end" value="610"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%"> + <details key="start" value="572"/> + <details key="end" value="600"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%/%"> + <details key="start" value="586"/> + <details key="end" value="599"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/inline"> + <details key="start" value="603"/> + <details key="end" value="609"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppClassOperationsImplementation/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppClassOperationsImplementation/class"> + <details key="start" value="446"/> + <details key="end" value="464"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppClassOperationsImplementation/inline"> + <details key="start" value="466"/> + <details key="end" value="482"/> + <details key="line" value="8"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl index c39be30ad8d..1f67d8afc62 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl @@ -1,5 +1,5 @@ [module CppClassOperationsImplementation('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl index 18a6cdd1b6e..435aa172998 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl @@ -1,859 +1,859 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppClassTypeAndEnum" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassTypeAndEnum" endHeaderPosition="110">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../CppPrimitiveTypes.emtl#/0"/>
- <imports href="../CppEnumerations.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="TypeAndEnumForVisibility" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </argument>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </ifExpr>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </argument>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </source>
- <argument xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
- </source>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypeAndEnumForVisibility/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <parameter name="element">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="TypesAndEnumsForVisibility" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypeAndEnumForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </argument>
- <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypesAndEnumsForVisibility/visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/16/Set(Element)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/ownedElement"/>
- </iterSet>
- </body>
- <parameter name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </parameter>
- <parameter name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnum" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" public:
	"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 protected:
	"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 private:
	"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/>
- </argument>
- </body>
- <parameter name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnumPackage" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/package"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </argument>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/>
- </argument>
- </body>
- <parameter name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="TypeAndEnumForVisibility">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/TypeAndEnumForVisibility"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="element">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="TypesAndEnumsForVisibility">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/TypesAndEnumsForVisibility"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="ne">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </eParameters>
- <eParameters name="visibilityFilter">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassTypeAndEnum">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassTypeAndEnum"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="class">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppClassTypeAndEnumPackage">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppClassTypeAndEnumPackage"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="pkg">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppPrimitiveTypeDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="primitiveType">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppEnumerationDefinition">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="enum">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Enumeration_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/TypeAndEnumForVisibility">
- <details key="start" value="335"/>
- <details key="end" value="757"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/TypeAndEnumForVisibility/%">
- <details key="start" value="432"/>
- <details key="end" value="745"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/TypeAndEnumForVisibility/%/%">
- <details key="start" value="552"/>
- <details key="end" value="642"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/TypeAndEnumForVisibility/%/%/%">
- <details key="start" value="586"/>
- <details key="end" value="635"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/TypeAndEnumForVisibility/%/%/%/%">
- <details key="start" value="586"/>
- <details key="end" value="608"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/TypeAndEnumForVisibility/%/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/TypeAndEnumForVisibility/%/%/%/%/%">
- <details key="start" value="596"/>
- <details key="end" value="607"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/TypeAndEnumForVisibility/%/%/%.1">
- <details key="start" value="558"/>
- <details key="end" value="584"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/TypeAndEnumForVisibility/%/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/TypeAndEnumForVisibility/%/%/%.1/%">
- <details key="start" value="571"/>
- <details key="end" value="582"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/TypeAndEnumForVisibility/%/%.1">
- <details key="start" value="642"/>
- <details key="end" value="643"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/TypeAndEnumForVisibility/%/%.2">
- <details key="start" value="643"/>
- <details key="end" value="739"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/TypeAndEnumForVisibility/%/%.2/%">
- <details key="start" value="679"/>
- <details key="end" value="732"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/TypeAndEnumForVisibility/%/%.2/%/%">
- <details key="start" value="679"/>
- <details key="end" value="703"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/%">
- <details key="start" value="689"/>
- <details key="end" value="702"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/TypeAndEnumForVisibility/%/%.2/%.1">
- <details key="start" value="649"/>
- <details key="end" value="677"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/%">
- <details key="start" value="662"/>
- <details key="end" value="675"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/TypeAndEnumForVisibility/%/%.3">
- <details key="start" value="739"/>
- <details key="end" value="740"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/TypeAndEnumForVisibility/%/%.4">
- <details key="start" value="436"/>
- <details key="end" value="550"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/TypeAndEnumForVisibility/%/%.4/%">
- <details key="start" value="437"/>
- <details key="end" value="493"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/TypeAndEnumForVisibility/%/%.4/%/%">
- <details key="start" value="437"/>
- <details key="end" value="465"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%">
- <details key="start" value="441"/>
- <details key="end" value="465"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/%">
- <details key="start" value="455"/>
- <details key="end" value="464"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1">
- <details key="start" value="470"/>
- <details key="end" value="493"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/%">
- <details key="start" value="482"/>
- <details key="end" value="492"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/TypeAndEnumForVisibility/%/%.4/%.1">
- <details key="start" value="498"/>
- <details key="end" value="549"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%">
- <details key="start" value="498"/>
- <details key="end" value="530"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%">
- <details key="start" value="498"/>
- <details key="end" value="519"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/%">
- <details key="start" value="508"/>
- <details key="end" value="518"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/visibilityFilter">
- <details key="start" value="533"/>
- <details key="end" value="549"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/TypeAndEnumForVisibility/element">
- <details key="start" value="377"/>
- <details key="end" value="394"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/TypeAndEnumForVisibility/visibilityFilter">
- <details key="start" value="396"/>
- <details key="end" value="429"/>
- <details key="line" value="6"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/TypesAndEnumsForVisibility">
- <details key="start" value="759"/>
- <details key="end" value="938"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/TypesAndEnumsForVisibility/%">
- <details key="start" value="855"/>
- <details key="end" value="926"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/TypesAndEnumsForVisibility/%/%">
- <details key="start" value="876"/>
- <details key="end" value="918"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/TypesAndEnumsForVisibility/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/TypesAndEnumsForVisibility/%/%/visibilityFilter">
- <details key="start" value="901"/>
- <details key="end" value="917"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/TypesAndEnumsForVisibility/%/%.1">
- <details key="start" value="861"/>
- <details key="end" value="873"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/TypesAndEnumsForVisibility/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/TypesAndEnumsForVisibility/ne">
- <details key="start" value="803"/>
- <details key="end" value="817"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/TypesAndEnumsForVisibility/visibilityFilter">
- <details key="start" value="819"/>
- <details key="end" value="852"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppClassTypeAndEnum">
- <details key="start" value="940"/>
- <details key="end" value="1212"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppClassTypeAndEnum/%">
- <details key="start" value="998"/>
- <details key="end" value="1009"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppClassTypeAndEnum/%.1">
- <details key="start" value="1010"/>
- <details key="end" value="1060"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppClassTypeAndEnum/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppClassTypeAndEnum/%.1/%">
- <details key="start" value="1037"/>
- <details key="end" value="1059"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppClassTypeAndEnum/%.2">
- <details key="start" value="1062"/>
- <details key="end" value="1077"/>
- <details key="line" value="20"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppClassTypeAndEnum/%.3">
- <details key="start" value="1078"/>
- <details key="end" value="1131"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppClassTypeAndEnum/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppClassTypeAndEnum/%.3/%">
- <details key="start" value="1105"/>
- <details key="end" value="1130"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppClassTypeAndEnum/%.4">
- <details key="start" value="1133"/>
- <details key="end" value="1146"/>
- <details key="line" value="22"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppClassTypeAndEnum/%.5">
- <details key="start" value="1147"/>
- <details key="end" value="1198"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppClassTypeAndEnum/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppClassTypeAndEnum/%.5/%">
- <details key="start" value="1174"/>
- <details key="end" value="1197"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppClassTypeAndEnum/class">
- <details key="start" value="977"/>
- <details key="end" value="995"/>
- <details key="line" value="17"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppClassTypeAndEnumPackage">
- <details key="start" value="1215"/>
- <details key="end" value="1396"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppClassTypeAndEnumPackage/%">
- <details key="start" value="1276"/>
- <details key="end" value="1328"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppClassTypeAndEnumPackage/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppClassTypeAndEnumPackage/%/%">
- <details key="start" value="1303"/>
- <details key="end" value="1327"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppClassTypeAndEnumPackage/%.1">
- <details key="start" value="1330"/>
- <details key="end" value="1331"/>
- <details key="line" value="29"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppClassTypeAndEnumPackage/%.2">
- <details key="start" value="1332"/>
- <details key="end" value="1382"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppClassTypeAndEnumPackage/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppClassTypeAndEnumPackage/%.2/%">
- <details key="start" value="1359"/>
- <details key="end" value="1381"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppClassTypeAndEnumPackage/pkg">
- <details key="start" value="1259"/>
- <details key="end" value="1272"/>
- <details key="line" value="27"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppClassTypeAndEnum" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassTypeAndEnum" endHeaderPosition="110"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../CppPrimitiveTypes.emtl#/0"/> + <imports href="../CppEnumerations.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="TypeAndEnumForVisibility" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </argument> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </source> + <argument xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/> + </source> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypeAndEnumForVisibility/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <parameter name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="TypesAndEnumsForVisibility" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypeAndEnumForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </argument> + <argument xsi:type="ocl.ecore:VariableExp" name="visibilityFilter" referredVariable="/0/TypesAndEnumsForVisibility/visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </argument> + </body> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/16/Set(Element)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/ownedElement"/> + </iterSet> + </body> + <parameter name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </parameter> + <parameter name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnum" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" public:
	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 protected:
	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 private:
	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </body> + <parameter name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnumPackage" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/package"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </body> + <parameter name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="TypeAndEnumForVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/TypeAndEnumForVisibility"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="TypesAndEnumsForVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/TypesAndEnumsForVisibility"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="ne"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </eParameters> + <eParameters name="visibilityFilter"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="CppClassTypeAndEnum"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassTypeAndEnum"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="class"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="CppClassTypeAndEnumPackage"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppClassTypeAndEnumPackage"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="pkg"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="CppPrimitiveTypeDefinition"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppPrimitiveTypes.emtl#/0/CppPrimitiveTypeDefinition"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="primitiveType"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eParameters> + </eOperations> + <eOperations name="CppEnumerationDefinition"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppEnumerations.emtl#/0/CppEnumerationDefinition"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="enum"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Enumeration_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="NoCodeGen"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//NoCodeGen"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Enumeration"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/TypeAndEnumForVisibility"> + <details key="start" value="323"/> + <details key="end" value="745"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/TypeAndEnumForVisibility/%"> + <details key="start" value="420"/> + <details key="end" value="733"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/TypeAndEnumForVisibility/%/%"> + <details key="start" value="540"/> + <details key="end" value="630"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/TypeAndEnumForVisibility/%/%/%"> + <details key="start" value="574"/> + <details key="end" value="623"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/TypeAndEnumForVisibility/%/%/%/%"> + <details key="start" value="574"/> + <details key="end" value="596"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/TypeAndEnumForVisibility/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/TypeAndEnumForVisibility/%/%/%/%/%"> + <details key="start" value="584"/> + <details key="end" value="595"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/TypeAndEnumForVisibility/%/%/%.1"> + <details key="start" value="546"/> + <details key="end" value="572"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/TypeAndEnumForVisibility/%/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/TypeAndEnumForVisibility/%/%/%.1/%"> + <details key="start" value="559"/> + <details key="end" value="570"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/TypeAndEnumForVisibility/%/%.1"> + <details key="start" value="630"/> + <details key="end" value="631"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/TypeAndEnumForVisibility/%/%.2"> + <details key="start" value="631"/> + <details key="end" value="727"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/TypeAndEnumForVisibility/%/%.2/%"> + <details key="start" value="667"/> + <details key="end" value="720"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/TypeAndEnumForVisibility/%/%.2/%/%"> + <details key="start" value="667"/> + <details key="end" value="691"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/TypeAndEnumForVisibility/%/%.2/%/%/%"> + <details key="start" value="677"/> + <details key="end" value="690"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/TypeAndEnumForVisibility/%/%.2/%.1"> + <details key="start" value="637"/> + <details key="end" value="665"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/TypeAndEnumForVisibility/%/%.2/%.1/%"> + <details key="start" value="650"/> + <details key="end" value="663"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/TypeAndEnumForVisibility/%/%.3"> + <details key="start" value="727"/> + <details key="end" value="728"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/TypeAndEnumForVisibility/%/%.4"> + <details key="start" value="424"/> + <details key="end" value="538"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/TypeAndEnumForVisibility/%/%.4/%"> + <details key="start" value="425"/> + <details key="end" value="481"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/TypeAndEnumForVisibility/%/%.4/%/%"> + <details key="start" value="425"/> + <details key="end" value="453"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%"> + <details key="start" value="429"/> + <details key="end" value="453"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/%"> + <details key="start" value="443"/> + <details key="end" value="452"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1"> + <details key="start" value="458"/> + <details key="end" value="481"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1/%"> + <details key="start" value="470"/> + <details key="end" value="480"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/TypeAndEnumForVisibility/%/%.4/%.1"> + <details key="start" value="486"/> + <details key="end" value="537"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%"> + <details key="start" value="486"/> + <details key="end" value="518"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%"> + <details key="start" value="486"/> + <details key="end" value="507"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%/%"> + <details key="start" value="496"/> + <details key="end" value="506"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/visibilityFilter"> + <details key="start" value="521"/> + <details key="end" value="537"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/TypeAndEnumForVisibility/element"> + <details key="start" value="365"/> + <details key="end" value="382"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/TypeAndEnumForVisibility/visibilityFilter"> + <details key="start" value="384"/> + <details key="end" value="417"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/TypesAndEnumsForVisibility"> + <details key="start" value="747"/> + <details key="end" value="926"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/TypesAndEnumsForVisibility/%"> + <details key="start" value="843"/> + <details key="end" value="914"/> + <details key="line" value="14"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/TypesAndEnumsForVisibility/%/%"> + <details key="start" value="864"/> + <details key="end" value="906"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/TypesAndEnumsForVisibility/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/TypesAndEnumsForVisibility/%/%/visibilityFilter"> + <details key="start" value="889"/> + <details key="end" value="905"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/TypesAndEnumsForVisibility/%/%.1"> + <details key="start" value="849"/> + <details key="end" value="861"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/TypesAndEnumsForVisibility/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/TypesAndEnumsForVisibility/ne"> + <details key="start" value="791"/> + <details key="end" value="805"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/TypesAndEnumsForVisibility/visibilityFilter"> + <details key="start" value="807"/> + <details key="end" value="840"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppClassTypeAndEnum"> + <details key="start" value="928"/> + <details key="end" value="1200"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppClassTypeAndEnum/%"> + <details key="start" value="986"/> + <details key="end" value="997"/> + <details key="line" value="18"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppClassTypeAndEnum/%.1"> + <details key="start" value="998"/> + <details key="end" value="1048"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppClassTypeAndEnum/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppClassTypeAndEnum/%.1/%"> + <details key="start" value="1025"/> + <details key="end" value="1047"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppClassTypeAndEnum/%.2"> + <details key="start" value="1050"/> + <details key="end" value="1065"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppClassTypeAndEnum/%.3"> + <details key="start" value="1066"/> + <details key="end" value="1119"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppClassTypeAndEnum/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppClassTypeAndEnum/%.3/%"> + <details key="start" value="1093"/> + <details key="end" value="1118"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppClassTypeAndEnum/%.4"> + <details key="start" value="1121"/> + <details key="end" value="1134"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppClassTypeAndEnum/%.5"> + <details key="start" value="1135"/> + <details key="end" value="1186"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppClassTypeAndEnum/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppClassTypeAndEnum/%.5/%"> + <details key="start" value="1162"/> + <details key="end" value="1185"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppClassTypeAndEnum/class"> + <details key="start" value="965"/> + <details key="end" value="983"/> + <details key="line" value="17"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppClassTypeAndEnumPackage"> + <details key="start" value="1203"/> + <details key="end" value="1384"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppClassTypeAndEnumPackage/%"> + <details key="start" value="1264"/> + <details key="end" value="1316"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppClassTypeAndEnumPackage/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppClassTypeAndEnumPackage/%/%"> + <details key="start" value="1291"/> + <details key="end" value="1315"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppClassTypeAndEnumPackage/%.1"> + <details key="start" value="1318"/> + <details key="end" value="1319"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppClassTypeAndEnumPackage/%.2"> + <details key="start" value="1320"/> + <details key="end" value="1370"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppClassTypeAndEnumPackage/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppClassTypeAndEnumPackage/%.2/%"> + <details key="start" value="1347"/> + <details key="end" value="1369"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppClassTypeAndEnumPackage/pkg"> + <details key="start" value="1247"/> + <details key="end" value="1260"/> + <details key="line" value="27"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl index aabc4832534..9ba92353d94 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl @@ -1,5 +1,5 @@ [module CppClassTypeAndEnum('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppPrimitiveTypes/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl index eacefcab9c8..624f4d3bc70 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl @@ -1,2413 +1,2414 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppOperations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations" endHeaderPosition="156">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
- </input>
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../utils/Modifier.emtl#/0"/>
- <imports href="../CppDocumentation.emtl#/0"/>
- <imports href="CppParameter.emtl#/0"/>
- <imports href="../CppTemplates.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="virtualTxt" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="virtual "/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Virtual">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="virtualSuffix" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = 0"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualSuffix/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </source>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualSuffix/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="ConsDestructorOrVoid" visibility="Public">
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
- </argument>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>
- </condition>
- <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Query" name="destructor" visibility="Public">
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- <expression xsi:type="ocl.ecore:IfExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <condition xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
- </argument>
- </condition>
- <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="~">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </thenExpression>
- <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </elseExpression>
- </expression>
- <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppReturnSpec" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:QueryInvocation" definition="/0/ConsDestructorOrVoid">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/>
- </source>
- <argument xsi:type="ocl.ecore:NullLiteralExp">
- <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>
- </ifExpr>
- <else>
- <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
- </source>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/%/%.2/collect/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- </else>
- </body>
- <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
- </source>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect/temp2">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp2">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </body>
- <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)">
- <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/>
- </source>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect.1/temp3">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp3">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="InlineTxt" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="inline "/>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Inline">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="element">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="staticTxt" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/>
- <ifExpr xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDeclaration" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppDocumentation.emtl#/0/CppOperationDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualTxt">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/staticTxt">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/destructor">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationDeclaration/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualSuffix">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppConstInit" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/59">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit/initialisation"/>
- </body>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </argument>
- </source>
- <argument xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
- </argument>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="2017" endPosition="2087" value=" wrapper for native query (otherwise Acceleo does not indent properly)"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="getBodyInTemplate" visibility="Public">
- <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getBody"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/64">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:VariableExp" name="language" referredVariable="/0/getBodyInTemplate/language">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </source>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- <parameter name="language">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="throws" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="throws "/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/73">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/70">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)">
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/throws/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/>
- </source>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/size"/>
- </source>
- <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
- </ifExpr>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationImplementation" visibility="Public">
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppDocumentation.emtl#/0/CppOperationDoc"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/82">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/84">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {
	"/>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getBody"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/85">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
}
"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="main">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/>
- </ifExpr>
- <else>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppTemplates.emtl#/0/templateSignature.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/86">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/87">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/88">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/class"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../CppTemplates.emtl#/0/templateShortSignature.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/90">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/>
- <body xsi:type="mtl:QueryInvocation" definition="/0/destructor">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/91">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>
- <body xsi:type="mtl:TemplateInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="CppParameter.emtl#/0/CppOperationParameters"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/93">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/throws">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/94">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/95">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppConstInit">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/96">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
	"/>
- <body xsi:type="mtl:TemplateInvocation" definition="/0/getBodyInTemplate">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/97">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </argument>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
}
"/>
- </else>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- <eOperations name="trim">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="virtualTxt">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/virtualTxt"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="virtualSuffix">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/virtualSuffix"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="ConsDestructorOrVoid">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/ConsDestructorOrVoid"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="destructor">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/destructor"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppReturnSpec">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppReturnSpec"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="InlineTxt">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/InlineTxt"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="element">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="staticTxt">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/staticTxt"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationDeclaration">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOperationDeclaration"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppConstInit">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppConstInit"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="getBodyInTemplate">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/getBodyInTemplate"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- <eParameters name="language">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="throws">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/throws"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationImplementation">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOperationImplementation"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="getBody">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getBody"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="modPtr">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modPtr"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modRef">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modRef"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modConst">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modConst"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationDoc">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppDocumentation.emtl#/0/CppOperationDoc"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationParameters">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="CppParameter.emtl#/0/CppOperationParameters"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- <eParameters name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppTemplates.emtl#/0/templateSignature.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- <eOperations name="templateShortSignature">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../CppTemplates.emtl#/0/templateShortSignature.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Virtual">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Create">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Destroy">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Inline">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="ConstInit">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Parameter)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(String)" instanceClassName="org.eclipse.ocl.util.Bag">
- <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Type)" instanceClassName="java.util.Set">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/virtualTxt">
- <details key="start" value="527"/>
- <details key="end" value="703"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/virtualTxt/%">
- <details key="start" value="579"/>
- <details key="end" value="691"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/virtualTxt/%/%">
- <details key="start" value="678"/>
- <details key="end" value="686"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/virtualTxt/%/%.1">
- <details key="start" value="582"/>
- <details key="end" value="677"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/virtualTxt/%/%.1/%">
- <details key="start" value="583"/>
- <details key="end" value="638"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/virtualTxt/%/%.1/%/%">
- <details key="start" value="583"/>
- <details key="end" value="612"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/virtualTxt/%/%.1/%/%/%">
- <details key="start" value="584"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/virtualTxt/%/%.1/%/%/%/operation">
- <details key="start" value="584"/>
- <details key="end" value="593"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/virtualTxt/%/%.1/%/%/%.1">
- <details key="start" value="607"/>
- <details key="end" value="611"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/virtualTxt/%/%.1/%/%.1">
- <details key="start" value="616"/>
- <details key="end" value="638"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/virtualTxt/%/%.1/%/%.1/operation">
- <details key="start" value="617"/>
- <details key="end" value="626"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/virtualTxt/%/%.1/%.1">
- <details key="start" value="642"/>
- <details key="end" value="676"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/virtualTxt/%/%.1/%.1/operation">
- <details key="start" value="643"/>
- <details key="end" value="652"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/virtualTxt/%/%.1/%.1/%">
- <details key="start" value="667"/>
- <details key="end" value="674"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/virtualTxt/operation">
- <details key="start" value="555"/>
- <details key="end" value="576"/>
- <details key="line" value="9"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/virtualSuffix">
- <details key="start" value="706"/>
- <details key="end" value="843"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/virtualSuffix/%">
- <details key="start" value="761"/>
- <details key="end" value="831"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/virtualSuffix/%/%">
- <details key="start" value="822"/>
- <details key="end" value="826"/>
- <details key="line" value="15"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/virtualSuffix/%/%.1">
- <details key="start" value="764"/>
- <details key="end" value="821"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/virtualSuffix/%/%.1/%">
- <details key="start" value="765"/>
- <details key="end" value="794"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/virtualSuffix/%/%.1/%/%">
- <details key="start" value="766"/>
- <details key="end" value="785"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/virtualSuffix/%/%.1/%/%/operation">
- <details key="start" value="766"/>
- <details key="end" value="775"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/virtualSuffix/%/%.1/%/%.1">
- <details key="start" value="789"/>
- <details key="end" value="793"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/virtualSuffix/%/%.1/%.1">
- <details key="start" value="798"/>
- <details key="end" value="820"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/virtualSuffix/%/%.1/%.1/operation">
- <details key="start" value="799"/>
- <details key="end" value="808"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/virtualSuffix/operation">
- <details key="start" value="737"/>
- <details key="end" value="758"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/ConsDestructorOrVoid">
- <details key="start" value="846"/>
- <details key="end" value="1004"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/ConsDestructorOrVoid/operation">
- <details key="start" value="881"/>
- <details key="end" value="902"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/ConsDestructorOrVoid/%">
- <details key="start" value="915"/>
- <details key="end" value="1002"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/ConsDestructorOrVoid/%/%">
- <details key="start" value="918"/>
- <details key="end" value="973"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/ConsDestructorOrVoid/%/%/%">
- <details key="start" value="918"/>
- <details key="end" value="943"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/ConsDestructorOrVoid/%/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/ConsDestructorOrVoid/%/%/%/%">
- <details key="start" value="932"/>
- <details key="end" value="942"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/ConsDestructorOrVoid/%/%/%.1">
- <details key="start" value="947"/>
- <details key="end" value="973"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/ConsDestructorOrVoid/%/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/ConsDestructorOrVoid/%/%/%.1/%">
- <details key="start" value="961"/>
- <details key="end" value="972"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/ConsDestructorOrVoid/%/%.1">
- <details key="start" value="980"/>
- <details key="end" value="982"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/ConsDestructorOrVoid/%/%.2">
- <details key="start" value="989"/>
- <details key="end" value="996"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/destructor">
- <details key="start" value="1007"/>
- <details key="end" value="1122"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/destructor/operation">
- <details key="start" value="1032"/>
- <details key="end" value="1053"/>
- <details key="line" value="27"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/destructor/%">
- <details key="start" value="1066"/>
- <details key="end" value="1120"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/destructor/%/%">
- <details key="start" value="1069"/>
- <details key="end" value="1095"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/destructor/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/destructor/%/%/%">
- <details key="start" value="1083"/>
- <details key="end" value="1094"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/destructor/%/%.1">
- <details key="start" value="1102"/>
- <details key="end" value="1105"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/destructor/%/%.2">
- <details key="start" value="1112"/>
- <details key="end" value="1114"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppReturnSpec">
- <details key="start" value="1124"/>
- <details key="end" value="1350"/>
- <details key="line" value="34"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppReturnSpec/%">
- <details key="start" value="1179"/>
- <details key="end" value="1286"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppReturnSpec/%/%">
- <details key="start" value="1198"/>
- <details key="end" value="1220"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppReturnSpec/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppReturnSpec/%/%.1">
- <details key="start" value="1183"/>
- <details key="end" value="1196"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.51" references="/0/CppReturnSpec/%/%.1/%">
- <details key="start" value="1184"/>
- <details key="end" value="1188"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.52" references="/0/CppReturnSpec/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.53" references="/0/CppReturnSpec/%/%.1/%.1">
- <details key="start" value="1191"/>
- <details key="end" value="1195"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.54" references="/0/CppReturnSpec/%/%.2">
- <details key="start" value="1222"/>
- <details key="end" value="1281"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.55" references="/0/CppReturnSpec/%/%.2/collect">
- <details key="start" value="1229"/>
- <details key="end" value="1254"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.56" references="/0/CppReturnSpec/%/%.2/collect/%">
- <details key="start" value="1229"/>
- <details key="end" value="1243"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.57" references="/0/CppReturnSpec/%/%.2/collect/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.58" references="/0/CppReturnSpec/%/%.2/collect/%.1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.59" references="/0/CppReturnSpec/%/%.2/collect/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.60" references="/0/CppReturnSpec/%/%.2/collect/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.61" references="/0/CppReturnSpec/%/%.2/%">
- <details key="start" value="1256"/>
- <details key="end" value="1257"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.62" references="/0/CppReturnSpec/%/%.2/%.1">
- <details key="start" value="1258"/>
- <details key="end" value="1278"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.63" references="/0/CppReturnSpec/%/%.2/%.1/%">
- <details key="start" value="1258"/>
- <details key="end" value="1262"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.64" references="/0/CppReturnSpec/%/%.2/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.65" references="/0/CppReturnSpec/%/%.2/%.2">
- <details key="start" value="1280"/>
- <details key="end" value="1281"/>
- <details key="line" value="35"/>
- </eAnnotations>
- <eAnnotations source="positions.66" references="/0/CppReturnSpec/collect">
- <details key="start" value="1287"/>
- <details key="end" value="1310"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.67" references="/0/CppReturnSpec/collect/%">
- <details key="start" value="1287"/>
- <details key="end" value="1301"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.68" references="/0/CppReturnSpec/collect/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.69" references="/0/CppReturnSpec/collect/%.1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.70" references="/0/CppReturnSpec/collect/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.71" references="/0/CppReturnSpec/collect/temp2">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.72" references="/0/CppReturnSpec/collect.1">
- <details key="start" value="1313"/>
- <details key="end" value="1336"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.73" references="/0/CppReturnSpec/collect.1/%">
- <details key="start" value="1313"/>
- <details key="end" value="1327"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.74" references="/0/CppReturnSpec/collect.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.75" references="/0/CppReturnSpec/collect.1/%.1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.76" references="/0/CppReturnSpec/collect.1/%.1/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.77" references="/0/CppReturnSpec/collect.1/temp3">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.78" references="/0/CppReturnSpec/operation">
- <details key="start" value="1155"/>
- <details key="end" value="1176"/>
- <details key="line" value="34"/>
- </eAnnotations>
- <eAnnotations source="positions.79" references="/0/InlineTxt">
- <details key="start" value="1353"/>
- <details key="end" value="1452"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.80" references="/0/InlineTxt/%">
- <details key="start" value="1400"/>
- <details key="end" value="1440"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.81" references="/0/InlineTxt/%/%">
- <details key="start" value="1428"/>
- <details key="end" value="1435"/>
- <details key="line" value="40"/>
- </eAnnotations>
- <eAnnotations source="positions.82" references="/0/InlineTxt/%/%.1">
- <details key="start" value="1404"/>
- <details key="end" value="1427"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.83" references="/0/InlineTxt/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.84" references="/0/InlineTxt/%/%.1/%">
- <details key="start" value="1419"/>
- <details key="end" value="1425"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.85" references="/0/InlineTxt/element">
- <details key="start" value="1380"/>
- <details key="end" value="1397"/>
- <details key="line" value="39"/>
- </eAnnotations>
- <eAnnotations source="positions.86" references="/0/staticTxt">
- <details key="start" value="1455"/>
- <details key="end" value="1545"/>
- <details key="line" value="44"/>
- </eAnnotations>
- <eAnnotations source="positions.87" references="/0/staticTxt/%">
- <details key="start" value="1506"/>
- <details key="end" value="1533"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.88" references="/0/staticTxt/%/%">
- <details key="start" value="1521"/>
- <details key="end" value="1528"/>
- <details key="line" value="45"/>
- </eAnnotations>
- <eAnnotations source="positions.89" references="/0/staticTxt/%/%.1">
- <details key="start" value="1510"/>
- <details key="end" value="1520"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.90" references="/0/staticTxt/%/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.91" references="/0/staticTxt/operation">
- <details key="start" value="1482"/>
- <details key="end" value="1503"/>
- <details key="line" value="44"/>
- </eAnnotations>
- <eAnnotations source="positions.92" references="/0/CppOperationDeclaration">
- <details key="start" value="1547"/>
- <details key="end" value="1804"/>
- <details key="line" value="48"/>
- </eAnnotations>
- <eAnnotations source="positions.93" references="/0/CppOperationDeclaration/%">
- <details key="start" value="1613"/>
- <details key="end" value="1630"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.94" references="/0/CppOperationDeclaration/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.95" references="/0/CppOperationDeclaration/%.1">
- <details key="start" value="1632"/>
- <details key="end" value="1633"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.96" references="/0/CppOperationDeclaration/%.2">
- <details key="start" value="1634"/>
- <details key="end" value="1645"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.97" references="/0/CppOperationDeclaration/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.98" references="/0/CppOperationDeclaration/%.3">
- <details key="start" value="1648"/>
- <details key="end" value="1660"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.99" references="/0/CppOperationDeclaration/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.100" references="/0/CppOperationDeclaration/%.4">
- <details key="start" value="1663"/>
- <details key="end" value="1674"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.101" references="/0/CppOperationDeclaration/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.102" references="/0/CppOperationDeclaration/%.5">
- <details key="start" value="1677"/>
- <details key="end" value="1692"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.103" references="/0/CppOperationDeclaration/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.104" references="/0/CppOperationDeclaration/%.6">
- <details key="start" value="1694"/>
- <details key="end" value="1695"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.105" references="/0/CppOperationDeclaration/%.7">
- <details key="start" value="1696"/>
- <details key="end" value="1708"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.106" references="/0/CppOperationDeclaration/%.7/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.107" references="/0/CppOperationDeclaration/%.8">
- <details key="start" value="1711"/>
- <details key="end" value="1725"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.108" references="/0/CppOperationDeclaration/%.8/operation">
- <details key="start" value="1711"/>
- <details key="end" value="1720"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.109" references="/0/CppOperationDeclaration/%.9">
- <details key="start" value="1727"/>
- <details key="end" value="1728"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.110" references="/0/CppOperationDeclaration/%.10">
- <details key="start" value="1729"/>
- <details key="end" value="1757"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.111" references="/0/CppOperationDeclaration/%.10/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.112" references="/0/CppOperationDeclaration/%.10/%">
- <details key="start" value="1752"/>
- <details key="end" value="1756"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.113" references="/0/CppOperationDeclaration/%.11">
- <details key="start" value="1759"/>
- <details key="end" value="1760"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.114" references="/0/CppOperationDeclaration/%.12">
- <details key="start" value="1761"/>
- <details key="end" value="1771"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.115" references="/0/CppOperationDeclaration/%.12/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.116" references="/0/CppOperationDeclaration/%.13">
- <details key="start" value="1774"/>
- <details key="end" value="1789"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.117" references="/0/CppOperationDeclaration/%.13/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.118" references="/0/CppOperationDeclaration/%.14">
- <details key="start" value="1791"/>
- <details key="end" value="1792"/>
- <details key="line" value="50"/>
- </eAnnotations>
- <eAnnotations source="positions.119" references="/0/CppOperationDeclaration/operation">
- <details key="start" value="1588"/>
- <details key="end" value="1609"/>
- <details key="line" value="48"/>
- </eAnnotations>
- <eAnnotations source="positions.120" references="/0/CppConstInit">
- <details key="start" value="1807"/>
- <details key="end" value="2006"/>
- <details key="line" value="54"/>
- </eAnnotations>
- <eAnnotations source="positions.121" references="/0/CppConstInit/%">
- <details key="start" value="1861"/>
- <details key="end" value="1994"/>
- <details key="line" value="55"/>
- </eAnnotations>
- <eAnnotations source="positions.122" references="/0/CppConstInit/%/%">
- <details key="start" value="1922"/>
- <details key="end" value="1925"/>
- <details key="line" value="55"/>
- </eAnnotations>
- <eAnnotations source="positions.123" references="/0/CppConstInit/%/%.1">
- <details key="start" value="1926"/>
- <details key="end" value="1987"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.124" references="/0/CppConstInit/%/%.1/%">
- <details key="start" value="1926"/>
- <details key="end" value="1972"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.125" references="/0/CppConstInit/%/%.1/%/%">
- <details key="start" value="1926"/>
- <details key="end" value="1951"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.126" references="/0/CppConstInit/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.127" references="/0/CppConstInit/%/%.1/%/%/%">
- <details key="start" value="1941"/>
- <details key="end" value="1950"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.128" references="/0/CppConstInit/%/%.1/%/%.1">
- <details key="start" value="1962"/>
- <details key="end" value="1971"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.129" references="/0/CppConstInit/%/%.2">
- <details key="start" value="1865"/>
- <details key="end" value="1921"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.130" references="/0/CppConstInit/%/%.2/%">
- <details key="start" value="1866"/>
- <details key="end" value="1890"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.131" references="/0/CppConstInit/%/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.132" references="/0/CppConstInit/%/%.2/%/%">
- <details key="start" value="1880"/>
- <details key="end" value="1889"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.133" references="/0/CppConstInit/%/%.2/%.1">
- <details key="start" value="1895"/>
- <details key="end" value="1920"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.134" references="/0/CppConstInit/%/%.2/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.135" references="/0/CppConstInit/%/%.2/%.1/%">
- <details key="start" value="1909"/>
- <details key="end" value="1919"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.136" references="/0/CppConstInit/operation">
- <details key="start" value="1837"/>
- <details key="end" value="1858"/>
- <details key="line" value="54"/>
- </eAnnotations>
- <eAnnotations source="positions.137" references="/0/%">
- <details key="start" value="2009"/>
- <details key="end" value="2089"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.138" references="/0/getBodyInTemplate">
- <details key="start" value="2090"/>
- <details key="end" value="2207"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.139" references="/0/getBodyInTemplate/%">
- <details key="start" value="2169"/>
- <details key="end" value="2193"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.140" references="/0/getBodyInTemplate/%/%">
- <details key="start" value="2169"/>
- <details key="end" value="2186"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.141" references="/0/getBodyInTemplate/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.142" references="/0/getBodyInTemplate/%/%/language">
- <details key="start" value="2177"/>
- <details key="end" value="2185"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.143" references="/0/getBodyInTemplate/operation">
- <details key="start" value="2125"/>
- <details key="end" value="2146"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.144" references="/0/getBodyInTemplate/language">
- <details key="start" value="2148"/>
- <details key="end" value="2165"/>
- <details key="line" value="60"/>
- </eAnnotations>
- <eAnnotations source="positions.145" references="/0/throws">
- <details key="start" value="2210"/>
- <details key="end" value="2378"/>
- <details key="line" value="65"/>
- </eAnnotations>
- <eAnnotations source="positions.146" references="/0/throws/%">
- <details key="start" value="2257"/>
- <details key="end" value="2366"/>
- <details key="line" value="66"/>
- </eAnnotations>
- <eAnnotations source="positions.147" references="/0/throws/%/%">
- <details key="start" value="2302"/>
- <details key="end" value="2309"/>
- <details key="line" value="67"/>
- </eAnnotations>
- <eAnnotations source="positions.148" references="/0/throws/%/%.1">
- <details key="start" value="2309"/>
- <details key="end" value="2360"/>
- <details key="line" value="67"/>
- </eAnnotations>
- <eAnnotations source="positions.149" references="/0/throws/%/%.1/%">
- <details key="start" value="2348"/>
- <details key="end" value="2352"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.150" references="/0/throws/%/%.1/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.151" references="/0/throws/%/%.1/%.1">
- <details key="start" value="2315"/>
- <details key="end" value="2330"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.152" references="/0/throws/%/%.1/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.153" references="/0/throws/%/%.1/%.2">
- <details key="start" value="2342"/>
- <details key="end" value="2345"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.154" references="/0/throws/%/%.2">
- <details key="start" value="2360"/>
- <details key="end" value="2361"/>
- <details key="line" value="68"/>
- </eAnnotations>
- <eAnnotations source="positions.155" references="/0/throws/%/%.3">
- <details key="start" value="2261"/>
- <details key="end" value="2300"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.156" references="/0/throws/%/%.3/%">
- <details key="start" value="2262"/>
- <details key="end" value="2295"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.157" references="/0/throws/%/%.3/%/%">
- <details key="start" value="2262"/>
- <details key="end" value="2287"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.158" references="/0/throws/%/%.3/%/%/operation">
- <details key="start" value="2262"/>
- <details key="end" value="2271"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.159" references="/0/throws/%/%.3/%.1">
- <details key="start" value="2298"/>
- <details key="end" value="2299"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.160" references="/0/throws/operation">
- <details key="start" value="2234"/>
- <details key="end" value="2254"/>
- <details key="line" value="65"/>
- </eAnnotations>
- <eAnnotations source="positions.161" references="/0/CppOperationImplementation">
- <details key="start" value="2381"/>
- <details key="end" value="2869"/>
- <details key="line" value="72"/>
- </eAnnotations>
- <eAnnotations source="positions.162" references="/0/CppOperationImplementation/%">
- <details key="start" value="2450"/>
- <details key="end" value="2467"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.163" references="/0/CppOperationImplementation/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.164" references="/0/CppOperationImplementation/%.1">
- <details key="start" value="2469"/>
- <details key="end" value="2470"/>
- <details key="line" value="74"/>
- </eAnnotations>
- <eAnnotations source="positions.165" references="/0/CppOperationImplementation/%.2">
- <details key="start" value="2470"/>
- <details key="end" value="2857"/>
- <details key="line" value="74"/>
- </eAnnotations>
- <eAnnotations source="positions.166" references="/0/CppOperationImplementation/%.2/%">
- <details key="start" value="2502"/>
- <details key="end" value="2517"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.167" references="/0/CppOperationImplementation/%.2/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.168" references="/0/CppOperationImplementation/%.2/%.1">
- <details key="start" value="2520"/>
- <details key="end" value="2534"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.169" references="/0/CppOperationImplementation/%.2/%.1/operation">
- <details key="start" value="2520"/>
- <details key="end" value="2529"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.170" references="/0/CppOperationImplementation/%.2/%.2">
- <details key="start" value="2536"/>
- <details key="end" value="2537"/>
- <details key="line" value="75"/>
- </eAnnotations>
- <eAnnotations source="positions.171" references="/0/CppOperationImplementation/%.2/%.3">
- <details key="start" value="2538"/>
- <details key="end" value="2567"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.172" references="/0/CppOperationImplementation/%.2/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.173" references="/0/CppOperationImplementation/%.2/%.3/%">
- <details key="start" value="2561"/>
- <details key="end" value="2566"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.174" references="/0/CppOperationImplementation/%.2/%.4">
- <details key="start" value="2569"/>
- <details key="end" value="2574"/>
- <details key="line" value="75"/>
- </eAnnotations>
- <eAnnotations source="positions.175" references="/0/CppOperationImplementation/%.2/%.5">
- <details key="start" value="2575"/>
- <details key="end" value="2591"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.176" references="/0/CppOperationImplementation/%.2/%.5/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.177" references="/0/CppOperationImplementation/%.2/%.5/%">
- <details key="start" value="2583"/>
- <details key="end" value="2590"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.178" references="/0/CppOperationImplementation/%.2/%.6">
- <details key="start" value="2593"/>
- <details key="end" value="2596"/>
- <details key="line" value="77"/>
- </eAnnotations>
- <eAnnotations source="positions.179" references="/0/CppOperationImplementation/%.2/%.7">
- <details key="start" value="2474"/>
- <details key="end" value="2499"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.180" references="/0/CppOperationImplementation/%.2/%.7/%">
- <details key="start" value="2475"/>
- <details key="end" value="2489"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.181" references="/0/CppOperationImplementation/%.2/%.7/%/operation">
- <details key="start" value="2475"/>
- <details key="end" value="2484"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.182" references="/0/CppOperationImplementation/%.2/%.7/%.1">
- <details key="start" value="2492"/>
- <details key="end" value="2498"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.183" references="/0/CppOperationImplementation/%.2/%.8">
- <details key="start" value="2596"/>
- <details key="end" value="2852"/>
- <details key="line" value="78"/>
- </eAnnotations>
- <eAnnotations source="positions.184" references="/0/CppOperationImplementation/%.2/%.8/%">
- <details key="start" value="2604"/>
- <details key="end" value="2623"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.185" references="/0/CppOperationImplementation/%.2/%.8/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.186" references="/0/CppOperationImplementation/%.2/%.8/%.1">
- <details key="start" value="2626"/>
- <details key="end" value="2637"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.187" references="/0/CppOperationImplementation/%.2/%.8/%.1/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.188" references="/0/CppOperationImplementation/%.2/%.8/%.2">
- <details key="start" value="2640"/>
- <details key="end" value="2655"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.189" references="/0/CppOperationImplementation/%.2/%.8/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.190" references="/0/CppOperationImplementation/%.2/%.8/%.3">
- <details key="start" value="2658"/>
- <details key="end" value="2678"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.191" references="/0/CppOperationImplementation/%.2/%.8/%.3/%">
- <details key="start" value="2658"/>
- <details key="end" value="2673"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.192" references="/0/CppOperationImplementation/%.2/%.8/%.3/%/operation">
- <details key="start" value="2658"/>
- <details key="end" value="2667"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.193" references="/0/CppOperationImplementation/%.2/%.8/%.4">
- <details key="start" value="2681"/>
- <details key="end" value="2705"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.194" references="/0/CppOperationImplementation/%.2/%.8/%.4/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.195" references="/0/CppOperationImplementation/%.2/%.8/%.5">
- <details key="start" value="2707"/>
- <details key="end" value="2709"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.196" references="/0/CppOperationImplementation/%.2/%.8/%.6">
- <details key="start" value="2710"/>
- <details key="end" value="2722"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.197" references="/0/CppOperationImplementation/%.2/%.8/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.198" references="/0/CppOperationImplementation/%.2/%.8/%.7">
- <details key="start" value="2725"/>
- <details key="end" value="2739"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.199" references="/0/CppOperationImplementation/%.2/%.8/%.7/operation">
- <details key="start" value="2725"/>
- <details key="end" value="2734"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.200" references="/0/CppOperationImplementation/%.2/%.8/%.8">
- <details key="start" value="2741"/>
- <details key="end" value="2742"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.201" references="/0/CppOperationImplementation/%.2/%.8/%.9">
- <details key="start" value="2743"/>
- <details key="end" value="2772"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.202" references="/0/CppOperationImplementation/%.2/%.8/%.9/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.203" references="/0/CppOperationImplementation/%.2/%.8/%.9/%">
- <details key="start" value="2766"/>
- <details key="end" value="2771"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.204" references="/0/CppOperationImplementation/%.2/%.8/%.10">
- <details key="start" value="2774"/>
- <details key="end" value="2775"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.205" references="/0/CppOperationImplementation/%.2/%.8/%.11">
- <details key="start" value="2776"/>
- <details key="end" value="2784"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.206" references="/0/CppOperationImplementation/%.2/%.8/%.11/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.207" references="/0/CppOperationImplementation/%.2/%.8/%.12">
- <details key="start" value="2787"/>
- <details key="end" value="2797"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.208" references="/0/CppOperationImplementation/%.2/%.8/%.12/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.209" references="/0/CppOperationImplementation/%.2/%.8/%.13">
- <details key="start" value="2800"/>
- <details key="end" value="2814"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.210" references="/0/CppOperationImplementation/%.2/%.8/%.13/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.211" references="/0/CppOperationImplementation/%.2/%.8/%.14">
- <details key="start" value="2816"/>
- <details key="end" value="2820"/>
- <details key="line" value="79"/>
- </eAnnotations>
- <eAnnotations source="positions.212" references="/0/CppOperationImplementation/%.2/%.8/%.15">
- <details key="start" value="2821"/>
- <details key="end" value="2847"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.213" references="/0/CppOperationImplementation/%.2/%.8/%.15/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.214" references="/0/CppOperationImplementation/%.2/%.8/%.15/%">
- <details key="start" value="2839"/>
- <details key="end" value="2846"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.215" references="/0/CppOperationImplementation/%.2/%.8/%.16">
- <details key="start" value="2849"/>
- <details key="end" value="2852"/>
- <details key="line" value="81"/>
- </eAnnotations>
- <eAnnotations source="positions.216" references="/0/CppOperationImplementation/operation">
- <details key="start" value="2425"/>
- <details key="end" value="2446"/>
- <details key="line" value="72"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppOperations" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations" endHeaderPosition="156"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <imports href="../../../utils/Modifier.emtl#/0"/> + <imports href="../CppDocumentation.emtl#/0"/> + <imports href="CppParameter.emtl#/0"/> + <imports href="../CppTemplates.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="virtualTxt" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="virtual "/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Virtual"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/> + </argument> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="virtualSuffix" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = 0"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualSuffix/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/interface"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </source> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualSuffix/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/isAbstract"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="ConsDestructorOrVoid" visibility="Public"> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/> + </argument> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/> + </argument> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> + </condition> + <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=""> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="destructor" visibility="Public"> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <condition xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Destroy"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/> + </argument> + </condition> + <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="~"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=""> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </elseExpression> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppReturnSpec" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:QueryInvocation" definition="/0/ConsDestructorOrVoid"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </ifExpr> + <else> + <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/> + </source> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/%/%.2/collect/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </iterator> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + </else> + </body> + <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/> + </source> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modPtr"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect/temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </iterator> + </body> + <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/25/Bag(String)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/25/Set(Parameter)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/returnResult"/> + </source> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modRef"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppReturnSpec/collect.1/temp3"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp3"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </iterator> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="InlineTxt" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="inline "/> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Inline"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> + </argument> + </ifExpr> + </body> + <parameter name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="staticTxt" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="static "/> + <ifExpr xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppOperationDeclaration" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppDocumentation.emtl#/0/CppOperationDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualTxt"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/staticTxt"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="mtl:QueryInvocation" definition="/0/destructor"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationDeclaration/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppParameter.emtl#/0/CppOperationParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/virtualSuffix"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppConstInit" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/59"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit/initialisation"/> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/ConstInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/> + </argument> + </source> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/> + </argument> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="2074" endPosition="2144" value=" wrapper for native query (otherwise Acceleo does not indent properly)"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="getBodyInTemplate" visibility="Public"> + <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/64"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:VariableExp" name="language" referredVariable="/0/getBodyInTemplate/language"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </source> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + <parameter name="language"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="throws" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="throws "/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/73"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/70"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/> + </iterSet> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=","> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/Set(Type)"> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/throws/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/raisedException"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/size"/> + </source> + <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppOperationImplementation" visibility="Public"> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppDocumentation.emtl#/0/CppOperationDoc"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/82"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppParameter.emtl#/0/CppOperationParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/84"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {
	"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/85"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
}
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="main"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> + </ifExpr> + <else> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppTemplates.emtl#/0/templateSignature.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/86"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/87"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/88"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/class"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../CppTemplates.emtl#/0/templateShortSignature.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/90"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/> + <body xsi:type="mtl:QueryInvocation" definition="/0/destructor"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/91"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppParameter.emtl#/0/CppOperationParameters"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/93"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/throws"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/94"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/95"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppConstInit"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/96"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/getBodyInTemplate"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/97"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
}
"/> + </else> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + <eOperations name="trim"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="virtualTxt"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/virtualTxt"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="virtualSuffix"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/virtualSuffix"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="ConsDestructorOrVoid"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/ConsDestructorOrVoid"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="destructor"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/destructor"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="CppReturnSpec"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppReturnSpec"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="InlineTxt"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/InlineTxt"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="staticTxt"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/staticTxt"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationDeclaration"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppOperationDeclaration"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="CppConstInit"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppConstInit"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="getBodyInTemplate"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getBodyInTemplate"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + <eParameters name="language"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="throws"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/throws"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationImplementation"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppOperationImplementation"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getBody"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="modPtr"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/Modifier.emtl#/0/modPtr"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modRef"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/Modifier.emtl#/0/modRef"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modConst"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/Modifier.emtl#/0/modConst"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationDoc"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppDocumentation.emtl#/0/CppOperationDoc"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationParameters"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="CppParameter.emtl#/0/CppOperationParameters"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + <eParameters name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> + <eOperations name="templateSignature"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppTemplates.emtl#/0/templateSignature.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="templateShortSignature"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../CppTemplates.emtl#/0/templateShortSignature.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Virtual"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Virtual"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Create"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Destroy"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Destroy"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Inline"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="ConstInit"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ConstInit"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Parameter)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(String)" instanceClassName="org.eclipse.ocl.util.Bag"> + <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Type)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/virtualTxt"> + <details key="start" value="581"/> + <details key="end" value="757"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/virtualTxt/%"> + <details key="start" value="633"/> + <details key="end" value="745"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/virtualTxt/%/%"> + <details key="start" value="732"/> + <details key="end" value="740"/> + <details key="line" value="11"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/virtualTxt/%/%.1"> + <details key="start" value="636"/> + <details key="end" value="731"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/virtualTxt/%/%.1/%"> + <details key="start" value="637"/> + <details key="end" value="692"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/virtualTxt/%/%.1/%/%"> + <details key="start" value="637"/> + <details key="end" value="666"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/virtualTxt/%/%.1/%/%/%"> + <details key="start" value="638"/> + <details key="end" value="657"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/virtualTxt/%/%.1/%/%/%/operation"> + <details key="start" value="638"/> + <details key="end" value="647"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/virtualTxt/%/%.1/%/%/%.1"> + <details key="start" value="661"/> + <details key="end" value="665"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/virtualTxt/%/%.1/%/%.1"> + <details key="start" value="670"/> + <details key="end" value="692"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/virtualTxt/%/%.1/%/%.1/operation"> + <details key="start" value="671"/> + <details key="end" value="680"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/virtualTxt/%/%.1/%.1"> + <details key="start" value="696"/> + <details key="end" value="730"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/virtualTxt/%/%.1/%.1/operation"> + <details key="start" value="697"/> + <details key="end" value="706"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/virtualTxt/%/%.1/%.1/%"> + <details key="start" value="721"/> + <details key="end" value="728"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/virtualTxt/operation"> + <details key="start" value="609"/> + <details key="end" value="630"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/virtualSuffix"> + <details key="start" value="760"/> + <details key="end" value="897"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/virtualSuffix/%"> + <details key="start" value="815"/> + <details key="end" value="885"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/virtualSuffix/%/%"> + <details key="start" value="876"/> + <details key="end" value="880"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/virtualSuffix/%/%.1"> + <details key="start" value="818"/> + <details key="end" value="875"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/virtualSuffix/%/%.1/%"> + <details key="start" value="819"/> + <details key="end" value="848"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/virtualSuffix/%/%.1/%/%"> + <details key="start" value="820"/> + <details key="end" value="839"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/virtualSuffix/%/%.1/%/%/operation"> + <details key="start" value="820"/> + <details key="end" value="829"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/virtualSuffix/%/%.1/%/%.1"> + <details key="start" value="843"/> + <details key="end" value="847"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/virtualSuffix/%/%.1/%.1"> + <details key="start" value="852"/> + <details key="end" value="874"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/virtualSuffix/%/%.1/%.1/operation"> + <details key="start" value="853"/> + <details key="end" value="862"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/virtualSuffix/operation"> + <details key="start" value="791"/> + <details key="end" value="812"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/ConsDestructorOrVoid"> + <details key="start" value="900"/> + <details key="end" value="1058"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/ConsDestructorOrVoid/operation"> + <details key="start" value="935"/> + <details key="end" value="956"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/ConsDestructorOrVoid/%"> + <details key="start" value="969"/> + <details key="end" value="1056"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/ConsDestructorOrVoid/%/%"> + <details key="start" value="972"/> + <details key="end" value="1027"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/ConsDestructorOrVoid/%/%/%"> + <details key="start" value="972"/> + <details key="end" value="997"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/ConsDestructorOrVoid/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/ConsDestructorOrVoid/%/%/%/%"> + <details key="start" value="986"/> + <details key="end" value="996"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/ConsDestructorOrVoid/%/%/%.1"> + <details key="start" value="1001"/> + <details key="end" value="1027"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/ConsDestructorOrVoid/%/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/ConsDestructorOrVoid/%/%/%.1/%"> + <details key="start" value="1015"/> + <details key="end" value="1026"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/ConsDestructorOrVoid/%/%.1"> + <details key="start" value="1034"/> + <details key="end" value="1036"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/ConsDestructorOrVoid/%/%.2"> + <details key="start" value="1043"/> + <details key="end" value="1050"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/destructor"> + <details key="start" value="1061"/> + <details key="end" value="1176"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/destructor/operation"> + <details key="start" value="1086"/> + <details key="end" value="1107"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/destructor/%"> + <details key="start" value="1120"/> + <details key="end" value="1174"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/destructor/%/%"> + <details key="start" value="1123"/> + <details key="end" value="1149"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/destructor/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/destructor/%/%/%"> + <details key="start" value="1137"/> + <details key="end" value="1148"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/destructor/%/%.1"> + <details key="start" value="1156"/> + <details key="end" value="1159"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/destructor/%/%.2"> + <details key="start" value="1166"/> + <details key="end" value="1168"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppReturnSpec"> + <details key="start" value="1178"/> + <details key="end" value="1407"/> + <details key="line" value="35"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppReturnSpec/%"> + <details key="start" value="1233"/> + <details key="end" value="1343"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppReturnSpec/%/%"> + <details key="start" value="1252"/> + <details key="end" value="1274"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppReturnSpec/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppReturnSpec/%/%.1"> + <details key="start" value="1237"/> + <details key="end" value="1250"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/CppReturnSpec/%/%.1/%"> + <details key="start" value="1238"/> + <details key="end" value="1242"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/CppReturnSpec/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/CppReturnSpec/%/%.1/%.1"> + <details key="start" value="1245"/> + <details key="end" value="1249"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/CppReturnSpec/%/%.2"> + <details key="start" value="1276"/> + <details key="end" value="1338"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/CppReturnSpec/%/%.2/collect"> + <details key="start" value="1283"/> + <details key="end" value="1308"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/CppReturnSpec/%/%.2/collect/%"> + <details key="start" value="1283"/> + <details key="end" value="1297"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/CppReturnSpec/%/%.2/collect/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/CppReturnSpec/%/%.2/collect/%.1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/CppReturnSpec/%/%.2/collect/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/CppReturnSpec/%/%.2/collect/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/CppReturnSpec/%/%.2/%"> + <details key="start" value="1310"/> + <details key="end" value="1311"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/CppReturnSpec/%/%.2/%.1"> + <details key="start" value="1312"/> + <details key="end" value="1335"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/CppReturnSpec/%/%.2/%.1/%"> + <details key="start" value="1312"/> + <details key="end" value="1316"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/CppReturnSpec/%/%.2/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/CppReturnSpec/%/%.2/%.2"> + <details key="start" value="1337"/> + <details key="end" value="1338"/> + <details key="line" value="36"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/CppReturnSpec/collect"> + <details key="start" value="1344"/> + <details key="end" value="1367"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/CppReturnSpec/collect/%"> + <details key="start" value="1344"/> + <details key="end" value="1358"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/CppReturnSpec/collect/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/CppReturnSpec/collect/%.1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/CppReturnSpec/collect/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/CppReturnSpec/collect/temp2"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/CppReturnSpec/collect.1"> + <details key="start" value="1370"/> + <details key="end" value="1393"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/CppReturnSpec/collect.1/%"> + <details key="start" value="1370"/> + <details key="end" value="1384"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/CppReturnSpec/collect.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/CppReturnSpec/collect.1/%.1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/CppReturnSpec/collect.1/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/CppReturnSpec/collect.1/temp3"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/CppReturnSpec/operation"> + <details key="start" value="1209"/> + <details key="end" value="1230"/> + <details key="line" value="35"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/InlineTxt"> + <details key="start" value="1410"/> + <details key="end" value="1509"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/InlineTxt/%"> + <details key="start" value="1457"/> + <details key="end" value="1497"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/InlineTxt/%/%"> + <details key="start" value="1485"/> + <details key="end" value="1492"/> + <details key="line" value="41"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/InlineTxt/%/%.1"> + <details key="start" value="1461"/> + <details key="end" value="1484"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/InlineTxt/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/InlineTxt/%/%.1/%"> + <details key="start" value="1476"/> + <details key="end" value="1482"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/InlineTxt/element"> + <details key="start" value="1437"/> + <details key="end" value="1454"/> + <details key="line" value="40"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/staticTxt"> + <details key="start" value="1512"/> + <details key="end" value="1602"/> + <details key="line" value="45"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/staticTxt/%"> + <details key="start" value="1563"/> + <details key="end" value="1590"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/staticTxt/%/%"> + <details key="start" value="1578"/> + <details key="end" value="1585"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.89" references="/0/staticTxt/%/%.1"> + <details key="start" value="1567"/> + <details key="end" value="1577"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.90" references="/0/staticTxt/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.91" references="/0/staticTxt/operation"> + <details key="start" value="1539"/> + <details key="end" value="1560"/> + <details key="line" value="45"/> + </eAnnotations> + <eAnnotations source="positions.92" references="/0/CppOperationDeclaration"> + <details key="start" value="1604"/> + <details key="end" value="1861"/> + <details key="line" value="49"/> + </eAnnotations> + <eAnnotations source="positions.93" references="/0/CppOperationDeclaration/%"> + <details key="start" value="1670"/> + <details key="end" value="1687"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.94" references="/0/CppOperationDeclaration/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.95" references="/0/CppOperationDeclaration/%.1"> + <details key="start" value="1689"/> + <details key="end" value="1690"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.96" references="/0/CppOperationDeclaration/%.2"> + <details key="start" value="1691"/> + <details key="end" value="1702"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.97" references="/0/CppOperationDeclaration/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.98" references="/0/CppOperationDeclaration/%.3"> + <details key="start" value="1705"/> + <details key="end" value="1717"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.99" references="/0/CppOperationDeclaration/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.100" references="/0/CppOperationDeclaration/%.4"> + <details key="start" value="1720"/> + <details key="end" value="1731"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.101" references="/0/CppOperationDeclaration/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.102" references="/0/CppOperationDeclaration/%.5"> + <details key="start" value="1734"/> + <details key="end" value="1749"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.103" references="/0/CppOperationDeclaration/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.104" references="/0/CppOperationDeclaration/%.6"> + <details key="start" value="1751"/> + <details key="end" value="1752"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.105" references="/0/CppOperationDeclaration/%.7"> + <details key="start" value="1753"/> + <details key="end" value="1765"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.106" references="/0/CppOperationDeclaration/%.7/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.107" references="/0/CppOperationDeclaration/%.8"> + <details key="start" value="1768"/> + <details key="end" value="1782"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.108" references="/0/CppOperationDeclaration/%.8/operation"> + <details key="start" value="1768"/> + <details key="end" value="1777"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.109" references="/0/CppOperationDeclaration/%.9"> + <details key="start" value="1784"/> + <details key="end" value="1785"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.110" references="/0/CppOperationDeclaration/%.10"> + <details key="start" value="1786"/> + <details key="end" value="1814"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.111" references="/0/CppOperationDeclaration/%.10/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.112" references="/0/CppOperationDeclaration/%.10/%"> + <details key="start" value="1809"/> + <details key="end" value="1813"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.113" references="/0/CppOperationDeclaration/%.11"> + <details key="start" value="1816"/> + <details key="end" value="1817"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.114" references="/0/CppOperationDeclaration/%.12"> + <details key="start" value="1818"/> + <details key="end" value="1828"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.115" references="/0/CppOperationDeclaration/%.12/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.116" references="/0/CppOperationDeclaration/%.13"> + <details key="start" value="1831"/> + <details key="end" value="1846"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.117" references="/0/CppOperationDeclaration/%.13/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.118" references="/0/CppOperationDeclaration/%.14"> + <details key="start" value="1848"/> + <details key="end" value="1849"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.119" references="/0/CppOperationDeclaration/operation"> + <details key="start" value="1645"/> + <details key="end" value="1666"/> + <details key="line" value="49"/> + </eAnnotations> + <eAnnotations source="positions.120" references="/0/CppConstInit"> + <details key="start" value="1864"/> + <details key="end" value="2063"/> + <details key="line" value="55"/> + </eAnnotations> + <eAnnotations source="positions.121" references="/0/CppConstInit/%"> + <details key="start" value="1918"/> + <details key="end" value="2051"/> + <details key="line" value="56"/> + </eAnnotations> + <eAnnotations source="positions.122" references="/0/CppConstInit/%/%"> + <details key="start" value="1979"/> + <details key="end" value="1982"/> + <details key="line" value="56"/> + </eAnnotations> + <eAnnotations source="positions.123" references="/0/CppConstInit/%/%.1"> + <details key="start" value="1983"/> + <details key="end" value="2044"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.124" references="/0/CppConstInit/%/%.1/%"> + <details key="start" value="1983"/> + <details key="end" value="2029"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.125" references="/0/CppConstInit/%/%.1/%/%"> + <details key="start" value="1983"/> + <details key="end" value="2008"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.126" references="/0/CppConstInit/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.127" references="/0/CppConstInit/%/%.1/%/%/%"> + <details key="start" value="1998"/> + <details key="end" value="2007"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.128" references="/0/CppConstInit/%/%.1/%/%.1"> + <details key="start" value="2019"/> + <details key="end" value="2028"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.129" references="/0/CppConstInit/%/%.2"> + <details key="start" value="1922"/> + <details key="end" value="1978"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.130" references="/0/CppConstInit/%/%.2/%"> + <details key="start" value="1923"/> + <details key="end" value="1947"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.131" references="/0/CppConstInit/%/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.132" references="/0/CppConstInit/%/%.2/%/%"> + <details key="start" value="1937"/> + <details key="end" value="1946"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.133" references="/0/CppConstInit/%/%.2/%.1"> + <details key="start" value="1952"/> + <details key="end" value="1977"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.134" references="/0/CppConstInit/%/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.135" references="/0/CppConstInit/%/%.2/%.1/%"> + <details key="start" value="1966"/> + <details key="end" value="1976"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.136" references="/0/CppConstInit/operation"> + <details key="start" value="1894"/> + <details key="end" value="1915"/> + <details key="line" value="55"/> + </eAnnotations> + <eAnnotations source="positions.137" references="/0/%"> + <details key="start" value="2066"/> + <details key="end" value="2146"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.138" references="/0/getBodyInTemplate"> + <details key="start" value="2147"/> + <details key="end" value="2264"/> + <details key="line" value="61"/> + </eAnnotations> + <eAnnotations source="positions.139" references="/0/getBodyInTemplate/%"> + <details key="start" value="2226"/> + <details key="end" value="2250"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.140" references="/0/getBodyInTemplate/%/%"> + <details key="start" value="2226"/> + <details key="end" value="2243"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.141" references="/0/getBodyInTemplate/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.142" references="/0/getBodyInTemplate/%/%/language"> + <details key="start" value="2234"/> + <details key="end" value="2242"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.143" references="/0/getBodyInTemplate/operation"> + <details key="start" value="2182"/> + <details key="end" value="2203"/> + <details key="line" value="61"/> + </eAnnotations> + <eAnnotations source="positions.144" references="/0/getBodyInTemplate/language"> + <details key="start" value="2205"/> + <details key="end" value="2222"/> + <details key="line" value="61"/> + </eAnnotations> + <eAnnotations source="positions.145" references="/0/throws"> + <details key="start" value="2267"/> + <details key="end" value="2435"/> + <details key="line" value="66"/> + </eAnnotations> + <eAnnotations source="positions.146" references="/0/throws/%"> + <details key="start" value="2314"/> + <details key="end" value="2423"/> + <details key="line" value="67"/> + </eAnnotations> + <eAnnotations source="positions.147" references="/0/throws/%/%"> + <details key="start" value="2359"/> + <details key="end" value="2366"/> + <details key="line" value="68"/> + </eAnnotations> + <eAnnotations source="positions.148" references="/0/throws/%/%.1"> + <details key="start" value="2366"/> + <details key="end" value="2417"/> + <details key="line" value="68"/> + </eAnnotations> + <eAnnotations source="positions.149" references="/0/throws/%/%.1/%"> + <details key="start" value="2405"/> + <details key="end" value="2409"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.150" references="/0/throws/%/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.151" references="/0/throws/%/%.1/%.1"> + <details key="start" value="2372"/> + <details key="end" value="2387"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.152" references="/0/throws/%/%.1/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.153" references="/0/throws/%/%.1/%.2"> + <details key="start" value="2399"/> + <details key="end" value="2402"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.154" references="/0/throws/%/%.2"> + <details key="start" value="2417"/> + <details key="end" value="2418"/> + <details key="line" value="69"/> + </eAnnotations> + <eAnnotations source="positions.155" references="/0/throws/%/%.3"> + <details key="start" value="2318"/> + <details key="end" value="2357"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.156" references="/0/throws/%/%.3/%"> + <details key="start" value="2319"/> + <details key="end" value="2352"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.157" references="/0/throws/%/%.3/%/%"> + <details key="start" value="2319"/> + <details key="end" value="2344"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.158" references="/0/throws/%/%.3/%/%/operation"> + <details key="start" value="2319"/> + <details key="end" value="2328"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.159" references="/0/throws/%/%.3/%.1"> + <details key="start" value="2355"/> + <details key="end" value="2356"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.160" references="/0/throws/operation"> + <details key="start" value="2291"/> + <details key="end" value="2311"/> + <details key="line" value="66"/> + </eAnnotations> + <eAnnotations source="positions.161" references="/0/CppOperationImplementation"> + <details key="start" value="2438"/> + <details key="end" value="2926"/> + <details key="line" value="73"/> + </eAnnotations> + <eAnnotations source="positions.162" references="/0/CppOperationImplementation/%"> + <details key="start" value="2507"/> + <details key="end" value="2524"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.163" references="/0/CppOperationImplementation/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.164" references="/0/CppOperationImplementation/%.1"> + <details key="start" value="2526"/> + <details key="end" value="2527"/> + <details key="line" value="75"/> + </eAnnotations> + <eAnnotations source="positions.165" references="/0/CppOperationImplementation/%.2"> + <details key="start" value="2527"/> + <details key="end" value="2914"/> + <details key="line" value="75"/> + </eAnnotations> + <eAnnotations source="positions.166" references="/0/CppOperationImplementation/%.2/%"> + <details key="start" value="2559"/> + <details key="end" value="2574"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.167" references="/0/CppOperationImplementation/%.2/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.168" references="/0/CppOperationImplementation/%.2/%.1"> + <details key="start" value="2577"/> + <details key="end" value="2591"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.169" references="/0/CppOperationImplementation/%.2/%.1/operation"> + <details key="start" value="2577"/> + <details key="end" value="2586"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.170" references="/0/CppOperationImplementation/%.2/%.2"> + <details key="start" value="2593"/> + <details key="end" value="2594"/> + <details key="line" value="76"/> + </eAnnotations> + <eAnnotations source="positions.171" references="/0/CppOperationImplementation/%.2/%.3"> + <details key="start" value="2595"/> + <details key="end" value="2624"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.172" references="/0/CppOperationImplementation/%.2/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.173" references="/0/CppOperationImplementation/%.2/%.3/%"> + <details key="start" value="2618"/> + <details key="end" value="2623"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.174" references="/0/CppOperationImplementation/%.2/%.4"> + <details key="start" value="2626"/> + <details key="end" value="2631"/> + <details key="line" value="76"/> + </eAnnotations> + <eAnnotations source="positions.175" references="/0/CppOperationImplementation/%.2/%.5"> + <details key="start" value="2632"/> + <details key="end" value="2648"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.176" references="/0/CppOperationImplementation/%.2/%.5/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.177" references="/0/CppOperationImplementation/%.2/%.5/%"> + <details key="start" value="2640"/> + <details key="end" value="2647"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.178" references="/0/CppOperationImplementation/%.2/%.6"> + <details key="start" value="2650"/> + <details key="end" value="2653"/> + <details key="line" value="78"/> + </eAnnotations> + <eAnnotations source="positions.179" references="/0/CppOperationImplementation/%.2/%.7"> + <details key="start" value="2531"/> + <details key="end" value="2556"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.180" references="/0/CppOperationImplementation/%.2/%.7/%"> + <details key="start" value="2532"/> + <details key="end" value="2546"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.181" references="/0/CppOperationImplementation/%.2/%.7/%/operation"> + <details key="start" value="2532"/> + <details key="end" value="2541"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.182" references="/0/CppOperationImplementation/%.2/%.7/%.1"> + <details key="start" value="2549"/> + <details key="end" value="2555"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.183" references="/0/CppOperationImplementation/%.2/%.8"> + <details key="start" value="2653"/> + <details key="end" value="2909"/> + <details key="line" value="79"/> + </eAnnotations> + <eAnnotations source="positions.184" references="/0/CppOperationImplementation/%.2/%.8/%"> + <details key="start" value="2661"/> + <details key="end" value="2680"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.185" references="/0/CppOperationImplementation/%.2/%.8/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.186" references="/0/CppOperationImplementation/%.2/%.8/%.1"> + <details key="start" value="2683"/> + <details key="end" value="2694"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.187" references="/0/CppOperationImplementation/%.2/%.8/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.188" references="/0/CppOperationImplementation/%.2/%.8/%.2"> + <details key="start" value="2697"/> + <details key="end" value="2712"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.189" references="/0/CppOperationImplementation/%.2/%.8/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.190" references="/0/CppOperationImplementation/%.2/%.8/%.3"> + <details key="start" value="2715"/> + <details key="end" value="2735"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.191" references="/0/CppOperationImplementation/%.2/%.8/%.3/%"> + <details key="start" value="2715"/> + <details key="end" value="2730"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.192" references="/0/CppOperationImplementation/%.2/%.8/%.3/%/operation"> + <details key="start" value="2715"/> + <details key="end" value="2724"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.193" references="/0/CppOperationImplementation/%.2/%.8/%.4"> + <details key="start" value="2738"/> + <details key="end" value="2762"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.194" references="/0/CppOperationImplementation/%.2/%.8/%.4/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.195" references="/0/CppOperationImplementation/%.2/%.8/%.5"> + <details key="start" value="2764"/> + <details key="end" value="2766"/> + <details key="line" value="80"/> + </eAnnotations> + <eAnnotations source="positions.196" references="/0/CppOperationImplementation/%.2/%.8/%.6"> + <details key="start" value="2767"/> + <details key="end" value="2779"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.197" references="/0/CppOperationImplementation/%.2/%.8/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.198" references="/0/CppOperationImplementation/%.2/%.8/%.7"> + <details key="start" value="2782"/> + <details key="end" value="2796"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.199" references="/0/CppOperationImplementation/%.2/%.8/%.7/operation"> + <details key="start" value="2782"/> + <details key="end" value="2791"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.200" references="/0/CppOperationImplementation/%.2/%.8/%.8"> + <details key="start" value="2798"/> + <details key="end" value="2799"/> + <details key="line" value="80"/> + </eAnnotations> + <eAnnotations source="positions.201" references="/0/CppOperationImplementation/%.2/%.8/%.9"> + <details key="start" value="2800"/> + <details key="end" value="2829"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.202" references="/0/CppOperationImplementation/%.2/%.8/%.9/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.203" references="/0/CppOperationImplementation/%.2/%.8/%.9/%"> + <details key="start" value="2823"/> + <details key="end" value="2828"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.204" references="/0/CppOperationImplementation/%.2/%.8/%.10"> + <details key="start" value="2831"/> + <details key="end" value="2832"/> + <details key="line" value="80"/> + </eAnnotations> + <eAnnotations source="positions.205" references="/0/CppOperationImplementation/%.2/%.8/%.11"> + <details key="start" value="2833"/> + <details key="end" value="2841"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.206" references="/0/CppOperationImplementation/%.2/%.8/%.11/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.207" references="/0/CppOperationImplementation/%.2/%.8/%.12"> + <details key="start" value="2844"/> + <details key="end" value="2854"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.208" references="/0/CppOperationImplementation/%.2/%.8/%.12/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.209" references="/0/CppOperationImplementation/%.2/%.8/%.13"> + <details key="start" value="2857"/> + <details key="end" value="2871"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.210" references="/0/CppOperationImplementation/%.2/%.8/%.13/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.211" references="/0/CppOperationImplementation/%.2/%.8/%.14"> + <details key="start" value="2873"/> + <details key="end" value="2877"/> + <details key="line" value="80"/> + </eAnnotations> + <eAnnotations source="positions.212" references="/0/CppOperationImplementation/%.2/%.8/%.15"> + <details key="start" value="2878"/> + <details key="end" value="2904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.213" references="/0/CppOperationImplementation/%.2/%.8/%.15/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.214" references="/0/CppOperationImplementation/%.2/%.8/%.15/%"> + <details key="start" value="2896"/> + <details key="end" value="2903"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.215" references="/0/CppOperationImplementation/%.2/%.8/%.16"> + <details key="start" value="2906"/> + <details key="end" value="2909"/> + <details key="line" value="82"/> + </eAnnotations> + <eAnnotations source="positions.216" references="/0/CppOperationImplementation/operation"> + <details key="start" value="2482"/> + <details key="end" value="2503"/> + <details key="line" value="73"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl index 7e48222a84c..4dc7d84ca9f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl @@ -1,5 +1,6 @@ [module CppOperations('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1', 'http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] [import org::eclipse::papyrus::cpp::codegen::utils::Modifier/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppParameter/] @@ -32,7 +33,7 @@ else endif/] [template public CppReturnSpec(operation : Operation)] -[if (type = null)][ConsDestructorOrVoid()/][else][returnResult().modConst()/] [type.qualifiedName()/] [/if][returnResult().modPtr()/][returnResult().modRef()/] +[if (type = null)][ConsDestructorOrVoid()/][else][returnResult().modConst()/] [type.cppQualifiedName()/] [/if][returnResult().modPtr()/][returnResult().modRef()/] [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl index 2aaf2705739..f351d6f1af4 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl @@ -1,733 +1,737 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="CppParameter" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppParameter" endHeaderPosition="61">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <imports href="../../../utils/GenUtils.emtl#/0"/>
- <imports href="../../../utils/Modifier.emtl#/0"/>
- <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- <source xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <definition href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </argument>
- </source>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default/value"/>
- </body>
- <ifExpr xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <definition href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </argument>
- </ifExpr>
- </body>
- <parameter name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Comment">
- <body startPosition="378" endPosition="509" value=" C++ parameter. Default values are added, if parameter showDefault is true (implementation signature
	may not repeat default value)"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppParameter" visibility="Public">
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modConst"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- <argument xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/>
- <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/CppParameter/parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modPtr"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modRef"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/CppParameter/parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
- </body>
- <body xsi:type="mtl:QueryInvocation">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <definition href="../../../utils/Modifier.emtl#/0/modArray"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- </body>
- <ifExpr xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppParameter/showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </ifExpr>
- </body>
- <parameter name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </parameter>
- <parameter name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </parameter>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="CppOperationParameters" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParameter">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </argument>
- <argument xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppOperationParameters/showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </argument>
- </body>
- <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/25/OrderedSet(Parameter)">
- <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/OrderedSet(Parameter)">
- <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </source>
- <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/>
- </source>
- <body xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/>
- <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppOperationParameters/%/select/temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </source>
- <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter/direction"/>
- </source>
- <argument xsi:type="ocl.ecore:EnumLiteralExp">
- <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/>
- <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind/return"/>
- </argument>
- <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>
- </body>
- <iterator xsi:type="ocl.ecore:Variable" name="temp1">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </iterator>
- </iterSet>
- <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </each>
- </body>
- <parameter name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </parameter>
- <parameter name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </parameter>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="defaultValue">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/defaultValue"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppParameter">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppParameter"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="parameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eParameters>
- <eParameters name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="CppOperationParameters">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/CppOperationParameters"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="operation">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eParameters>
- <eParameters name="showDefault">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- </eParameters>
- </eOperations>
- <eOperations name="getApplication">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/getApplication"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="qualifiedName">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/qualifiedName"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eParameters>
- </eOperations>
- <eOperations name="hasStereotype">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/GenUtils.emtl#/0/hasStereotype.1"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <eParameters name="arg0">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- <eParameters name="arg1">
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eParameters>
- </eOperations>
- <eOperations name="modPtr">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modPtr"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modRef">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modRef"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modArray">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modArray"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modConst">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL">
- <references href="../../../utils/Modifier.emtl#/0/modConst"/>
- </eAnnotations>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="types">
- <eClassifiers xsi:type="ocl.ecore:TypeType" name="Default">
- <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="i">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/defaultValue">
- <details key="start" value="193"/>
- <details key="end" value="368"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/defaultValue/%">
- <details key="start" value="247"/>
- <details key="end" value="356"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/defaultValue/%/%">
- <details key="start" value="283"/>
- <details key="end" value="286"/>
- <details key="line" value="8"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1">
- <details key="start" value="287"/>
- <details key="end" value="349"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%">
- <details key="start" value="287"/>
- <details key="end" value="343"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/%">
- <details key="start" value="287"/>
- <details key="end" value="317"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/defaultValue/%/%.1/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/defaultValue/%/%.1/%/%/%">
- <details key="start" value="302"/>
- <details key="end" value="316"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/defaultValue/%/%.1/%/%.1">
- <details key="start" value="328"/>
- <details key="end" value="342"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2">
- <details key="start" value="251"/>
- <details key="end" value="282"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%">
- <details key="start" value="266"/>
- <details key="end" value="280"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/defaultValue/parameter">
- <details key="start" value="223"/>
- <details key="end" value="244"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/%">
- <details key="start" value="370"/>
- <details key="end" value="511"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/CppParameter">
- <details key="start" value="512"/>
- <details key="end" value="740"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/CppParameter/%">
- <details key="start" value="590"/>
- <details key="end" value="600"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/CppParameter/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/CppParameter/%.1">
- <details key="start" value="603"/>
- <details key="end" value="633"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/CppParameter/%.1/%">
- <details key="start" value="603"/>
- <details key="end" value="617"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/CppParameter/%.1/%/parameter">
- <details key="start" value="603"/>
- <details key="end" value="612"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/CppParameter/%.2">
- <details key="start" value="636"/>
- <details key="end" value="644"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/CppParameter/%.2/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/CppParameter/%.3">
- <details key="start" value="647"/>
- <details key="end" value="655"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/CppParameter/%.3/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/CppParameter/%.4">
- <details key="start" value="657"/>
- <details key="end" value="658"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/CppParameter/%.5">
- <details key="start" value="659"/>
- <details key="end" value="673"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/CppParameter/%.5/parameter">
- <details key="start" value="659"/>
- <details key="end" value="668"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/CppParameter/%.6">
- <details key="start" value="676"/>
- <details key="end" value="686"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/CppParameter/%.6/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/CppParameter/%.7">
- <details key="start" value="688"/>
- <details key="end" value="728"/>
- <details key="line" value="14"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/CppParameter/%.7/%">
- <details key="start" value="707"/>
- <details key="end" value="721"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/CppParameter/%.7/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.32" references="/0/CppParameter/%.7/showDefault">
- <details key="start" value="692"/>
- <details key="end" value="705"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.33" references="/0/CppParameter/parameter">
- <details key="start" value="542"/>
- <details key="end" value="563"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.34" references="/0/CppParameter/showDefault">
- <details key="start" value="565"/>
- <details key="end" value="586"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.35" references="/0/CppOperationParameters">
- <details key="start" value="743"/>
- <details key="end" value="967"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.36" references="/0/CppOperationParameters/%">
- <details key="start" value="830"/>
- <details key="end" value="955"/>
- <details key="line" value="19"/>
- </eAnnotations>
- <eAnnotations source="positions.37" references="/0/CppOperationParameters/%/%">
- <details key="start" value="922"/>
- <details key="end" value="947"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.38" references="/0/CppOperationParameters/%/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.39" references="/0/CppOperationParameters/%/%/showDefault">
- <details key="start" value="935"/>
- <details key="end" value="946"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.40" references="/0/CppOperationParameters/%/select">
- <details key="start" value="836"/>
- <details key="end" value="903"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.41" references="/0/CppOperationParameters/%/select/%">
- <details key="start" value="836"/>
- <details key="end" value="850"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.42" references="/0/CppOperationParameters/%/select/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.43" references="/0/CppOperationParameters/%/select/%.1">
- <details key="start" value="859"/>
- <details key="end" value="902"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.44" references="/0/CppOperationParameters/%/select/%.1/%">
- <details key="start" value="859"/>
- <details key="end" value="868"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.45" references="/0/CppOperationParameters/%/select/%.1/%/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.46" references="/0/CppOperationParameters/%/select/%.1/%.1">
- <details key="start" value="872"/>
- <details key="end" value="902"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.47" references="/0/CppOperationParameters/%/select/temp1">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.48" references="/0/CppOperationParameters/%/%.1">
- <details key="start" value="915"/>
- <details key="end" value="919"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.49" references="/0/CppOperationParameters/operation">
- <details key="start" value="783"/>
- <details key="end" value="804"/>
- <details key="line" value="18"/>
- </eAnnotations>
- <eAnnotations source="positions.50" references="/0/CppOperationParameters/showDefault">
- <details key="start" value="806"/>
- <details key="end" value="827"/>
- <details key="line" value="18"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppParameter" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppParameter" endHeaderPosition="103"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <input> + <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </input> + <imports href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="../../../utils/CppGenUtils.emtl#/0"/> + <imports href="../../../utils/Modifier.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="defaultValue" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default/value"/> + </body> + <ifExpr xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Default"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/> + </argument> + </ifExpr> + </body> + <parameter name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="475" endPosition="606" value=" C++ parameter. Default values are added, if parameter showDefault is true (implementation signature
	may not repeat default value)"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppParameter" visibility="Public"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modConst"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/CppParameter/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modPtr"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modRef"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/CppParameter/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../../../utils/Modifier.emtl#/0/modArray"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <ifExpr xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppParameter/showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </ifExpr> + </body> + <parameter name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </parameter> + <parameter name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="CppOperationParameters" visibility="Public"> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParameter"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + <argument xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppOperationParameters/showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + </body> + <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/25/OrderedSet(Parameter)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/25/OrderedSet(Parameter)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppOperationParameters/%/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter/direction"/> + </source> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterDirectionKind/return"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </iterator> + </iterSet> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + <parameter name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="defaultValue"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/defaultValue"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eParameters> + </eOperations> + <eOperations name="CppParameter"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppParameter"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eParameters> + <eParameters name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> + <eOperations name="CppOperationParameters"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/CppOperationParameters"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + <eParameters name="showDefault"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </eParameters> + </eOperations> + <eOperations name="hasStereotype"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="getApplication"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="modPtr"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/Modifier.emtl#/0/modPtr"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modRef"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/Modifier.emtl#/0/modRef"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modArray"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/Modifier.emtl#/0/modArray"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modConst"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../../../utils/Modifier.emtl#/0/modConst"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Default"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Default"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="i"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/defaultValue"> + <details key="start" value="290"/> + <details key="end" value="465"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/defaultValue/%"> + <details key="start" value="344"/> + <details key="end" value="453"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/defaultValue/%/%"> + <details key="start" value="380"/> + <details key="end" value="383"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1"> + <details key="start" value="384"/> + <details key="end" value="446"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%"> + <details key="start" value="384"/> + <details key="end" value="440"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/%"> + <details key="start" value="384"/> + <details key="end" value="414"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/defaultValue/%/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/defaultValue/%/%.1/%/%/%"> + <details key="start" value="399"/> + <details key="end" value="413"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/defaultValue/%/%.1/%/%.1"> + <details key="start" value="425"/> + <details key="end" value="439"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2"> + <details key="start" value="348"/> + <details key="end" value="379"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/defaultValue/%/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/defaultValue/%/%.2/%"> + <details key="start" value="363"/> + <details key="end" value="377"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/defaultValue/parameter"> + <details key="start" value="320"/> + <details key="end" value="341"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/%"> + <details key="start" value="467"/> + <details key="end" value="608"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/CppParameter"> + <details key="start" value="609"/> + <details key="end" value="840"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/CppParameter/%"> + <details key="start" value="687"/> + <details key="end" value="697"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/CppParameter/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/CppParameter/%.1"> + <details key="start" value="700"/> + <details key="end" value="733"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/CppParameter/%.1/%"> + <details key="start" value="700"/> + <details key="end" value="714"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/CppParameter/%.1/%/parameter"> + <details key="start" value="700"/> + <details key="end" value="709"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/CppParameter/%.2"> + <details key="start" value="736"/> + <details key="end" value="744"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/CppParameter/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/CppParameter/%.3"> + <details key="start" value="747"/> + <details key="end" value="755"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/CppParameter/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/CppParameter/%.4"> + <details key="start" value="757"/> + <details key="end" value="758"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/CppParameter/%.5"> + <details key="start" value="759"/> + <details key="end" value="773"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/CppParameter/%.5/parameter"> + <details key="start" value="759"/> + <details key="end" value="768"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/CppParameter/%.6"> + <details key="start" value="776"/> + <details key="end" value="786"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/CppParameter/%.6/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/CppParameter/%.7"> + <details key="start" value="788"/> + <details key="end" value="828"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/CppParameter/%.7/%"> + <details key="start" value="807"/> + <details key="end" value="821"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/CppParameter/%.7/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/CppParameter/%.7/showDefault"> + <details key="start" value="792"/> + <details key="end" value="805"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppParameter/parameter"> + <details key="start" value="639"/> + <details key="end" value="660"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/CppParameter/showDefault"> + <details key="start" value="662"/> + <details key="end" value="683"/> + <details key="line" value="15"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/CppOperationParameters"> + <details key="start" value="843"/> + <details key="end" value="1067"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/CppOperationParameters/%"> + <details key="start" value="930"/> + <details key="end" value="1055"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/CppOperationParameters/%/%"> + <details key="start" value="1022"/> + <details key="end" value="1047"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/CppOperationParameters/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/CppOperationParameters/%/%/showDefault"> + <details key="start" value="1035"/> + <details key="end" value="1046"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/CppOperationParameters/%/select"> + <details key="start" value="936"/> + <details key="end" value="1003"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/CppOperationParameters/%/select/%"> + <details key="start" value="936"/> + <details key="end" value="950"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppOperationParameters/%/select/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/CppOperationParameters/%/select/%.1"> + <details key="start" value="959"/> + <details key="end" value="1002"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/CppOperationParameters/%/select/%.1/%"> + <details key="start" value="959"/> + <details key="end" value="968"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/CppOperationParameters/%/select/%.1/%/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/CppOperationParameters/%/select/%.1/%.1"> + <details key="start" value="972"/> + <details key="end" value="1002"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/CppOperationParameters/%/select/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/CppOperationParameters/%/%.1"> + <details key="start" value="1015"/> + <details key="end" value="1019"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/CppOperationParameters/operation"> + <details key="start" value="883"/> + <details key="end" value="904"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/CppOperationParameters/showDefault"> + <details key="start" value="906"/> + <details key="end" value="927"/> + <details key="line" value="20"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl index bf013aa089f..e59a3e26b42 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl @@ -1,5 +1,7 @@ -[module CppParameter('http://www.eclipse.org/uml2/4.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::utils::GenUtils/] +[module CppParameter('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] +[import org::eclipse::papyrus::acceleo::GenUtils/] +[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] + [import org::eclipse::papyrus::cpp::codegen::utils::Modifier/] @@ -11,7 +13,7 @@ [comment C++ parameter. Default values are added, if parameter showDefault is true (implementation signature may not repeat default value)/] [template public CppParameter(parameter : Parameter, showDefault : Boolean)] -[modConst()/][parameter.type.qualifiedName()/][modPtr()/][modRef()/] [parameter.name/][modArray()/][if (showDefault)][defaultValue()/][/if] +[modConst()/][parameter.type.cppQualifiedName()/][modPtr()/][modRef()/] [parameter.name/][modArray()/][if (showDefault)][defaultValue()/][/if] [/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.emtl index 1f51f3604df..feb38f52f05 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.emtl @@ -1,164 +1,164 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="ClassUtils" nsURI="org::eclipse::papyrus::cpp::codegen::utils::ClassUtils" startHeaderPosition="29" endHeaderPosition="88">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <ownedModuleElement xsi:type="mtl:Query" name="includedClassifiers" visibility="Public" type="/3/Sequence(Classifier)">
- <parameter name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </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="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.ClassUtils">
- <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="includedClassifiers(org.eclipse.uml2.uml.Classifier)">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </argument>
- <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Classifier)" kind="Sequence">
- <part xsi:type="ocl.ecore:CollectionItem">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- <item xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/includedClassifiers/cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </item>
- </part>
- </argument>
- </expression>
- </ownedModuleElement>
- </mtl:Module>
- <ecore:EPackage name="additions">
- <eClassifiers xsi:type="ecore:EClass" name="String_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="includedClassifiers" eType="/3/Sequence(Classifier)">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/includedClassifiers"/>
- <eParameters name="cl">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- <eOperations name="invoke">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="class">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="method">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="arguments">
- <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List">
- <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </eClassifiers>
- <eClassifiers xsi:type="ocl.ecore:SequenceType" instanceClassName="java.util.List">
- <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/includedClassifiers">
- <details key="start" value="92"/>
- <details key="end" value="300"/>
- <details key="line" value="4"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/includedClassifiers/cl">
- <details key="start" value="126"/>
- <details key="end" value="141"/>
- <details key="line" value="4"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/includedClassifiers/%">
- <details key="start" value="169"/>
- <details key="end" value="297"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/includedClassifiers/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/includedClassifiers/%/%">
- <details key="start" value="176"/>
- <details key="end" value="226"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/includedClassifiers/%/%.1">
- <details key="start" value="228"/>
- <details key="end" value="282"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/includedClassifiers/%/%.2">
- <details key="start" value="284"/>
- <details key="end" value="296"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/includedClassifiers/%/%.2/%/cl">
- <details key="start" value="293"/>
- <details key="end" value="295"/>
- <details key="line" value="0"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="ClassUtils" nsURI="org::eclipse::papyrus::cpp::codegen::utils::ClassUtils" startHeaderPosition="29" endHeaderPosition="88"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <ownedModuleElement xsi:type="mtl:Query" name="includedClassifiers" visibility="Public" type="/3/Sequence(Classifier)"> + <parameter name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </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="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.ClassUtils"> + <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="includedClassifiers(org.eclipse.uml2.uml.Classifier)"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Classifier)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <item xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/includedClassifiers/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </item> + </part> + </argument> + </expression> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="String_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="includedClassifiers" eType="/3/Sequence(Classifier)"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/includedClassifiers"/> + <eParameters name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + <eOperations name="invoke"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="class"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="method"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="arguments"> + <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" instanceClassName="java.util.List"> + <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/includedClassifiers"> + <details key="start" value="92"/> + <details key="end" value="300"/> + <details key="line" value="4"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/includedClassifiers/cl"> + <details key="start" value="126"/> + <details key="end" value="141"/> + <details key="line" value="4"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/includedClassifiers/%"> + <details key="start" value="169"/> + <details key="end" value="297"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/includedClassifiers/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/includedClassifiers/%/%"> + <details key="start" value="176"/> + <details key="end" value="226"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/includedClassifiers/%/%.1"> + <details key="start" value="228"/> + <details key="end" value="282"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/includedClassifiers/%/%.2"> + <details key="start" value="284"/> + <details key="end" value="296"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/includedClassifiers/%/%.2/%/cl"> + <details key="start" value="293"/> + <details key="end" value="295"/> + <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/ClassUtils.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.java index 2937137eff4..8493fc24c7c 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.java @@ -13,7 +13,7 @@ package org.eclipse.papyrus.cpp.codegen.utils; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.UniqueEList; -import org.eclipse.papyrus.C_Cpp.Include; +import org.eclipse.papyrus.acceleo.GenUtils; import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Classifier; @@ -39,13 +39,14 @@ public class ClassUtils { // class attributes dependencies usedClasses.addAll(GenUtils.getOwnedAttributeTypes(currentClass)); // operation parameters dependencies - usedClasses.addAll(GenUtils.getIncludesFromOperations(currentClass)); + usedClasses.addAll(GenUtils.getTypesViaOperations(currentClass)); // realized interface dependencies if(currentClass instanceof Class) { - usedClasses.addAll(GenUtils.getImplementedInterfaces((Class)currentClass)); + Class clazz = (Class) currentClass; + usedClasses.addAll(clazz.getImplementedInterfaces()); } // dependencies and associations - usedClasses.addAll(GenUtils.getRelationshipsNoDeps(currentClass)); + usedClasses.addAll(GenUtils.getTypesViaRelationshipsNoDeps(currentClass)); // template parameters are declared locally (if owned) and do not correspond to a file // that can be included 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 new file mode 100644 index 00000000000..5448614144e --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.emtl @@ -0,0 +1,793 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="CppGenUtils" nsURI="org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils" startHeaderPosition="29" endHeaderPosition="89"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <ownedModuleElement xsi:type="mtl:Query" name="getTemplateParametersWoType" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </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="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </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="getTemplateParametersWoType(org.eclipse.uml2.uml.Classifier)"> + <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(Classifier)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getTemplateParametersWoType/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </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="getStdtypes" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </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="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </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="getStdtypes(org.eclipse.uml2.uml.PrimitiveType)"> + <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(PrimitiveType)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getStdtypes/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </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="cppQualifiedName" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="/11"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.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="cppQualifiedName(org.eclipse.uml2.uml.NamedElement)"> + <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(NamedElement)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/cppQualifiedName/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="getTemplateTypeName" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </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="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </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="getType(org.eclipse.uml2.uml.TemplateParameter)"> + <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(TemplateParameter)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getTemplateTypeName/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </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="getNamespace" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.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="getNamespace(org.eclipse.uml2.uml.NamedElement)"> + <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(NamedElement)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getNamespace/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="openNS" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="/20"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.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="openNS(org.eclipse.uml2.uml.NamedElement)"> + <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(NamedElement)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/openNS/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="closeNS" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.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="closeNS(org.eclipse.uml2.uml.NamedElement)"> + <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(NamedElement)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/closeNS/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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="getGeneralizationVisibility" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="/26"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="getGeneralizationVisibility(org.eclipse.uml2.uml.Element)"> + <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(Element)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getGeneralizationVisibility/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="getTemplateParametersWoType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getTemplateParametersWoType"/> + <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#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="getStdtypes"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getStdtypes"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eParameters> + </eOperations> + <eOperations name="cppQualifiedName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/cppQualifiedName"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getTemplateTypeName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getTemplateTypeName"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eParameters> + </eOperations> + <eOperations name="getNamespace"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getNamespace"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="openNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/openNS"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="closeNS"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/closeNS"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eParameters> + </eOperations> + <eOperations name="getGeneralizationVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getGeneralizationVisibility"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + <eOperations name="invoke"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="class"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="method"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="arguments"> + <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eClassifiers> + <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(PrimitiveType)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(NamedElement)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(TemplateParameter)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/getTemplateParametersWoType"> + <details key="start" value="93"/> + <details key="end" value="308"/> + <details key="line" value="4"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/getTemplateParametersWoType/arg0"> + <details key="start" value="135"/> + <details key="end" value="152"/> + <details key="line" value="4"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/getTemplateParametersWoType/%"> + <details key="start" value="166"/> + <details key="end" value="305"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/getTemplateParametersWoType/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/getTemplateParametersWoType/%/%"> + <details key="start" value="173"/> + <details key="end" value="224"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/getTemplateParametersWoType/%/%.1"> + <details key="start" value="226"/> + <details key="end" value="288"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/getTemplateParametersWoType/%/%.2"> + <details key="start" value="290"/> + <details key="end" value="304"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/getTemplateParametersWoType/%/%.2/%/arg0"> + <details key="start" value="299"/> + <details key="end" value="303"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/getStdtypes"> + <details key="start" value="310"/> + <details key="end" value="499"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/getStdtypes/arg0"> + <details key="start" value="336"/> + <details key="end" value="356"/> + <details key="line" value="8"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/getStdtypes/%"> + <details key="start" value="370"/> + <details key="end" value="496"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/getStdtypes/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/getStdtypes/%/%"> + <details key="start" value="377"/> + <details key="end" value="428"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/getStdtypes/%/%.1"> + <details key="start" value="430"/> + <details key="end" value="479"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/getStdtypes/%/%.2"> + <details key="start" value="481"/> + <details key="end" value="495"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/getStdtypes/%/%.2/%/arg0"> + <details key="start" value="490"/> + <details key="end" value="494"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/cppQualifiedName"> + <details key="start" value="501"/> + <details key="end" value="698"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/cppQualifiedName/arg0"> + <details key="start" value="532"/> + <details key="end" value="551"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/cppQualifiedName/%"> + <details key="start" value="565"/> + <details key="end" value="695"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/cppQualifiedName/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/cppQualifiedName/%/%"> + <details key="start" value="572"/> + <details key="end" value="623"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/cppQualifiedName/%/%.1"> + <details key="start" value="625"/> + <details key="end" value="678"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/cppQualifiedName/%/%.2"> + <details key="start" value="680"/> + <details key="end" value="694"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/cppQualifiedName/%/%.2/%/arg0"> + <details key="start" value="689"/> + <details key="end" value="693"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/getTemplateTypeName"> + <details key="start" value="700"/> + <details key="end" value="901"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/getTemplateTypeName/arg0"> + <details key="start" value="734"/> + <details key="end" value="758"/> + <details key="line" value="16"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/getTemplateTypeName/%"> + <details key="start" value="772"/> + <details key="end" value="898"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/getTemplateTypeName/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/getTemplateTypeName/%/%"> + <details key="start" value="779"/> + <details key="end" value="830"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/getTemplateTypeName/%/%.1"> + <details key="start" value="832"/> + <details key="end" value="881"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/getTemplateTypeName/%/%.2"> + <details key="start" value="883"/> + <details key="end" value="897"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/getTemplateTypeName/%/%.2/%/arg0"> + <details key="start" value="892"/> + <details key="end" value="896"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/getNamespace"> + <details key="start" value="903"/> + <details key="end" value="1092"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/getNamespace/arg0"> + <details key="start" value="930"/> + <details key="end" value="949"/> + <details key="line" value="20"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/getNamespace/%"> + <details key="start" value="963"/> + <details key="end" value="1089"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/getNamespace/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/getNamespace/%/%"> + <details key="start" value="970"/> + <details key="end" value="1021"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/getNamespace/%/%.1"> + <details key="start" value="1023"/> + <details key="end" value="1072"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/getNamespace/%/%.2"> + <details key="start" value="1074"/> + <details key="end" value="1088"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/getNamespace/%/%.2/%/arg0"> + <details key="start" value="1083"/> + <details key="end" value="1087"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/openNS"> + <details key="start" value="1094"/> + <details key="end" value="1271"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/openNS/arg0"> + <details key="start" value="1115"/> + <details key="end" value="1134"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/openNS/%"> + <details key="start" value="1148"/> + <details key="end" value="1268"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/openNS/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/openNS/%/%"> + <details key="start" value="1155"/> + <details key="end" value="1206"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/openNS/%/%.1"> + <details key="start" value="1208"/> + <details key="end" value="1251"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/openNS/%/%.2"> + <details key="start" value="1253"/> + <details key="end" value="1267"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/openNS/%/%.2/%/arg0"> + <details key="start" value="1262"/> + <details key="end" value="1266"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/closeNS"> + <details key="start" value="1273"/> + <details key="end" value="1452"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/closeNS/arg0"> + <details key="start" value="1295"/> + <details key="end" value="1314"/> + <details key="line" value="28"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/closeNS/%"> + <details key="start" value="1328"/> + <details key="end" value="1449"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/closeNS/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/closeNS/%/%"> + <details key="start" value="1335"/> + <details key="end" value="1386"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/closeNS/%/%.1"> + <details key="start" value="1388"/> + <details key="end" value="1432"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/closeNS/%/%.2"> + <details key="start" value="1434"/> + <details key="end" value="1448"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/closeNS/%/%.2/%/arg0"> + <details key="start" value="1443"/> + <details key="end" value="1447"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/getGeneralizationVisibility"> + <details key="start" value="1454"/> + <details key="end" value="1663"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/getGeneralizationVisibility/arg0"> + <details key="start" value="1496"/> + <details key="end" value="1510"/> + <details key="line" value="32"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/getGeneralizationVisibility/%"> + <details key="start" value="1524"/> + <details key="end" value="1660"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/getGeneralizationVisibility/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/getGeneralizationVisibility/%/%"> + <details key="start" value="1531"/> + <details key="end" value="1582"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/getGeneralizationVisibility/%/%.1"> + <details key="start" value="1584"/> + <details key="end" value="1643"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/getGeneralizationVisibility/%/%.2"> + <details key="start" value="1645"/> + <details key="end" value="1659"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/getGeneralizationVisibility/%/%.2/%/arg0"> + <details key="start" value="1654"/> + <details key="end" value="1658"/> + <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 new file mode 100644 index 00000000000..3fa445e0adb --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java @@ -0,0 +1,288 @@ +/******************************************************************************* + * Copyright (c) 2006 - 2013 CEA LIST. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - initial API and implementation + *******************************************************************************/ + +package org.eclipse.papyrus.cpp.codegen.utils; + +import java.util.Iterator; + +import org.eclipse.papyrus.C_Cpp.External; +import org.eclipse.papyrus.C_Cpp.NoCodeGen; +import org.eclipse.papyrus.C_Cpp.Typedef; +import org.eclipse.papyrus.C_Cpp.Visibility; +import org.eclipse.papyrus.acceleo.GenUtils; +import org.eclipse.uml2.uml.Classifier; +import org.eclipse.uml2.uml.ClassifierTemplateParameter; +import org.eclipse.uml2.uml.ConnectableElementTemplateParameter; +import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.LiteralBoolean; +import org.eclipse.uml2.uml.LiteralInteger; +import org.eclipse.uml2.uml.LiteralString; +import org.eclipse.uml2.uml.LiteralUnlimitedNatural; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.Namespace; +import org.eclipse.uml2.uml.OperationTemplateParameter; +import org.eclipse.uml2.uml.Package; +import org.eclipse.uml2.uml.ParameterableElement; +import org.eclipse.uml2.uml.PrimitiveType; +import org.eclipse.uml2.uml.TemplateParameter; + + + +/** + * Some utilities specific to C++ code generation: a set of static methods that is intended + * for use from Acceleo templates. + * + * @author wassim, ansgar + * + */ +public class CppGenUtils { + + /** + * Return a list of template parameters without type + * + * @param classifier + * @return + */ + public static String getTemplateParametersWoType(Classifier classifier) { + String tparamWoType = ""; //$NON-NLS-1$ + + Iterator<TemplateParameter> it = GenUtils.getTemplateParameters(classifier).iterator(); + + while(it.hasNext()) { + TemplateParameter currentTParam = it.next(); + tparamWoType = tparamWoType + GenUtils.getTemplateName(currentTParam); + + if(it.hasNext()) { + tparamWoType = tparamWoType + ", "; //$NON-NLS-1$ + } + } + return tparamWoType; + } + + /** + * The standard UML and MARTE libraries do not apply the stereotype "Typedef". Yet, we want to treat these + * types in an identical way, i.e. we use a typedef to the associated primitive C++ type + * + * @param type + * @return + */ + public static String getStdtypes(PrimitiveType type) { + Object owner = type.getOwner(); + String owningPkgName = ""; //$NON-NLS-1$ + if(owner instanceof Package) { + owningPkgName = ((Package)owner).getName(); + } + if(owningPkgName.equals("PrimitiveTypes") || // used in UML >= 2.4 //$NON-NLS-1$ + owningPkgName.equals("UMLPrimitiveTypes") || // used in UML < 2.4 //$NON-NLS-1$ + owningPkgName.equals("MARTE_PrimitivesTypes")) { //$NON-NLS-1$ + String td = null; + String name = type.getName(); + + if(name.equals("Boolean")) { //$NON-NLS-1$ + td = "bool"; //$NON-NLS-1$ + } else if(name.equals("Integer")) { //$NON-NLS-1$ + td = "int"; //$NON-NLS-1$ + } else if(name.equals("String")) { //$NON-NLS-1$ + td = "const char *"; //$NON-NLS-1$ + } else if(name.equals("Unlimited Natural")) { //$NON-NLS-1$ + td = "unsigned long"; //$NON-NLS-1$ + } + if(td != null) { + return "typedef " + td + " " + name + ";"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + // else unknown within UMLPrimitiveTypes, treat in standard way + } + + return ""; //$NON-NLS-1$ + } + + /** + * Return a kind of qualifiedName, except if + * - The named element has the stereotype External or NoCodeGen + * - The named element is part of the ANSI C library + * - The named element is a primitive type that has no further definition via a stereotype (TODO: why is this required/useful?) + * @param ne + * @return + */ + public static String cppQualifiedName(NamedElement ne) { + if (ne == null) { + return "undefined"; //$NON-NLS-1$ + } + Object owner = ne.getOwner(); + String owningPkgName = ""; //$NON-NLS-1$ + if(owner instanceof Package) { + owningPkgName = ((Package)owner).getName(); + } + if((GenUtils.hasStereotype(ne, External.class)) || (GenUtils.hasStereotype(ne, NoCodeGen.class))) { + return ne.getName(); + } else if(owningPkgName.equals("AnsiCLibrary")) { //$NON-NLS-1$ + // always use the short name for types within the ANSI C library + return ne.getName(); + } + + String qName = ne.getName(); + if(currentNS == ne.getNamespace()) { + // return simple name, if in current namespace + return qName; + } + if(ne instanceof PrimitiveType) { + if(!GenUtils.hasStereotype(ne, Typedef.class) && (getStdtypes((PrimitiveType)ne).length() == 0)) { + // is a primitive type without further definition and not a standard primitive type + // => assume that it is a external type without namespace + return qName; + } + } + + for(Namespace ns : ne.allNamespaces()) { + // don't add top-level + if(ns.getOwner() != null) { + qName = ns.getName() + "::" + qName; //$NON-NLS-1$ + } + } + if(qName.contains("::")) { //$NON-NLS-1$ + // is a qualified name => make path absolute + return "::" + qName; //$NON-NLS-1$ + } else { + return qName; + } + } + + + /** + * Returns the string that is used within a C++ template declaration, e.g. the "Class XY" in template<class XY>. + * + * @return the template type formated as string + */ + public static String getTemplateTypeName(TemplateParameter templateParam) { + String prefix = ""; //$NON-NLS-1$ + String name = ""; //$NON-NLS-1$ + + // Retrieve name of the ParameteredElement (when possible = it is a NamedElement + ParameterableElement pElt = templateParam.getParameteredElement(); + if((pElt != null) && (pElt instanceof NamedElement)) { + name = ((NamedElement)pElt).getName(); + if(templateParam instanceof ClassifierTemplateParameter) { + // prefix name with "class" to indicate that the following type is a classifier + prefix = "class "; //$NON-NLS-1$ + } else if(templateParam instanceof OperationTemplateParameter) { + // no prefix + } else if(templateParam instanceof ConnectableElementTemplateParameter) { + // no prefix + } else {// uml2TemplateParameter instanceof TemplateParameter + // TODO: literal integer is a value specification, but we use the fact that is also a named element + // e.g. would produce an <int N> parameter and ignore the value behind (which is ok for the + // declaration of the template, but not for its use. + if(pElt instanceof LiteralInteger) { + prefix = "int "; //$NON-NLS-1$ + } else if(pElt instanceof LiteralString) { + prefix = "String "; //$NON-NLS-1$ + } else if(pElt instanceof LiteralBoolean) { + prefix = "Boolean "; //$NON-NLS-1$ + } else if(pElt instanceof LiteralUnlimitedNatural) { + prefix = "UnlimitedNatural "; //$NON-NLS-1$ + } else { + prefix = pElt.eClass().getName() + " "; //$NON-NLS-1$ + } + } + } else { + name = "undefined"; //$NON-NLS-1$ + } + + return (prefix + name); + } + + + /** + * Return a C++ namespace definition for a named element + * + * @param ne + * a named element + * @return a C++ namespace definition for a named element + */ + public static String getNamespace(NamedElement ne) { + String namespace = ""; //$NON-NLS-1$ + for(Namespace ns : ne.allNamespaces()) { + if(ns.getOwner() != null) { + String nsName = ns.getName(); + if(!namespace.equals("")) { //$NON-NLS-1$ + nsName += "::"; //$NON-NLS-1$ + } + namespace = nsName + namespace; + } + } + if(!namespace.equals("")) { //$NON-NLS-1$ + namespace = "\n" + "using namespace " + namespace + ";\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + return namespace; + } + + /** + * Return a C++ open-namespace definition for a named element + * + * @param ne + * a named element + * @return a C++ open-namespace definition for a named element + */ + public static String openNS(NamedElement ne) { + String openNS = ""; //$NON-NLS-1$ + currentNS = ne.getNamespace(); + if(ne instanceof Package) { + openNS = "namespace " + ne.getName() + " {\n"; //$NON-NLS-1$ //$NON-NLS-2$ + } + for(Namespace ns : ne.allNamespaces()) { + if(ns.getOwner() != null) { + openNS = "namespace " + ns.getName() + " {\n" + openNS; //$NON-NLS-1$ //$NON-NLS-2$ + } + } + return openNS; + } + + + /** + * Return a C++ close-namespace definition for a named element + * + * @param ne + * a named element + * @return a C++ close-namespace definition for a named element + */ + public static String closeNS(NamedElement ne) { + String closeNS = ""; //$NON-NLS-1$ + if(ne instanceof Package) { + closeNS = "} // of namespace " + ne.getName() + "\n"; //$NON-NLS-1$ //$NON-NLS-2$ + } + for(Namespace ns : ne.allNamespaces()) { + if(ns.getOwner() != null) { + closeNS += "} // of namespace " + ns.getName() + "\n"; //$NON-NLS-1$ //$NON-NLS-2$ + } + } + return closeNS; + } + + + /** + * Return the C++ visibility (on generalizations) in text form. Return public, if no stereotype + * visibility exists + * + * @param element + * @return + */ + public static String getGeneralizationVisibility(Element element) { + // get visibility and target name + Visibility cppVisibility = GenUtils.getApplication(element, Visibility.class); + if(cppVisibility != null) { + return cppVisibility.getValue(); + } else { + return "public"; //$NON-NLS-1$ + } + } + + private static Namespace currentNS; +} 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 new file mode 100644 index 00000000000..85a8711232e --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.mtl @@ -0,0 +1,35 @@ +[comment encoding = UTF-8 /] +[module CppGenUtils('http://www.eclipse.org/uml2/4.0.0/UML')/] + +[query public getTemplateParametersWoType(arg0 : Classifier) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'getTemplateParametersWoType(org.eclipse.uml2.uml.Classifier)', Sequence{arg0}) +/] + +[query public getStdtypes(arg0 : PrimitiveType) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'getStdtypes(org.eclipse.uml2.uml.PrimitiveType)', Sequence{arg0}) +/] + +[query public cppQualifiedName(arg0 : NamedElement) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'cppQualifiedName(org.eclipse.uml2.uml.NamedElement)', Sequence{arg0}) +/] + +[query public getTemplateTypeName(arg0 : TemplateParameter) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'getType(org.eclipse.uml2.uml.TemplateParameter)', Sequence{arg0}) +/] + +[query public getNamespace(arg0 : NamedElement) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'getNamespace(org.eclipse.uml2.uml.NamedElement)', Sequence{arg0}) +/] + +[query public openNS(arg0 : NamedElement) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'openNS(org.eclipse.uml2.uml.NamedElement)', Sequence{arg0}) +/] + +[query public closeNS(arg0 : NamedElement) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'closeNS(org.eclipse.uml2.uml.NamedElement)', Sequence{arg0}) +/] + +[query public getGeneralizationVisibility(arg0 : Element) : String + = invoke('org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils', 'getGeneralizationVisibility(org.eclipse.uml2.uml.Element)', Sequence{arg0}) +/] + diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/Modifier.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/Modifier.emtl index 84cadc0d4eb..2a002fc1015 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/Modifier.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/Modifier.emtl @@ -1,421 +1,421 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
- <mtl:Module name="Modifier" nsURI="org::eclipse::papyrus::cpp::codegen::utils::Modifier" startHeaderPosition="29" endHeaderPosition="86">
- <input>
- <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
- </input>
- <ownedModuleElement xsi:type="mtl:Query" name="modPtr" visibility="Public">
- <parameter name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="/5">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier">
- <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="modPtr(org.eclipse.uml2.uml.Element)">
- <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(Element)" kind="Sequence">
- <part xsi:type="ocl.ecore:CollectionItem">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modPtr/propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="modRef" visibility="Public">
- <parameter name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="/8">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier">
- <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="modRef(org.eclipse.uml2.uml.Element)">
- <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(Element)" kind="Sequence">
- <part xsi:type="ocl.ecore:CollectionItem">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modRef/propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="modArray" visibility="Public">
- <parameter name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="/11">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier">
- <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="modArray(org.eclipse.uml2.uml.Element)">
- <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(Element)" kind="Sequence">
- <part xsi:type="ocl.ecore:CollectionItem">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modArray/propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="modConst" visibility="Public">
- <parameter name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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="/14">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </source>
- <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier">
- <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="modConst(org.eclipse.uml2.uml.Element)">
- <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(Element)" kind="Sequence">
- <part xsi:type="ocl.ecore:CollectionItem">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modConst/propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </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">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eAnnotations>
- <eOperations name="modPtr">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/modPtr"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modRef">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/modRef"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modArray">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/modArray"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- <eOperations name="modConst">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <contents xsi:type="ocl.ecore:Constraint"/>
- </eAnnotations>
- <eAnnotations source="MTL" references="/0/modConst"/>
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <eParameters name="propertyOrParameter">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eAnnotations>
- <eOperations name="invoke">
- <eAnnotations source="MTL non-standard"/>
- <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- <eParameters name="class">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="method">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- </eParameters>
- <eParameters name="arguments">
- <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/>
- </eParameters>
- </eOperations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
- </eAnnotations>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
- <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
- <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </eAnnotations>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ecore:EPackage name="collections">
- <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" instanceClassName="java.util.List">
- <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
- </eClassifiers>
- </ecore:EPackage>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
- </ocl.ecore:Variable>
- <ocl.ecore:Variable name="self">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </ocl.ecore:Variable>
- <ecore:EAnnotation source="positions">
- <eAnnotations source="positions.0" references="/0/modPtr">
- <details key="start" value="90"/>
- <details key="end" value="284"/>
- <details key="line" value="4"/>
- </eAnnotations>
- <eAnnotations source="positions.1" references="/0/modPtr/propertyOrParameter">
- <details key="start" value="111"/>
- <details key="end" value="140"/>
- <details key="line" value="4"/>
- </eAnnotations>
- <eAnnotations source="positions.2" references="/0/modPtr/%">
- <details key="start" value="154"/>
- <details key="end" value="281"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.3" references="/0/modPtr/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.4" references="/0/modPtr/%/%">
- <details key="start" value="161"/>
- <details key="end" value="209"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.5" references="/0/modPtr/%/%.1">
- <details key="start" value="211"/>
- <details key="end" value="249"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.6" references="/0/modPtr/%/%.2">
- <details key="start" value="251"/>
- <details key="end" value="280"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.7" references="/0/modPtr/%/%.2/%/propertyOrParameter">
- <details key="start" value="260"/>
- <details key="end" value="279"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.8" references="/0/modRef">
- <details key="start" value="286"/>
- <details key="end" value="480"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.9" references="/0/modRef/propertyOrParameter">
- <details key="start" value="307"/>
- <details key="end" value="336"/>
- <details key="line" value="7"/>
- </eAnnotations>
- <eAnnotations source="positions.10" references="/0/modRef/%">
- <details key="start" value="350"/>
- <details key="end" value="477"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.11" references="/0/modRef/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.12" references="/0/modRef/%/%">
- <details key="start" value="357"/>
- <details key="end" value="405"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.13" references="/0/modRef/%/%.1">
- <details key="start" value="407"/>
- <details key="end" value="445"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.14" references="/0/modRef/%/%.2">
- <details key="start" value="447"/>
- <details key="end" value="476"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.15" references="/0/modRef/%/%.2/%/propertyOrParameter">
- <details key="start" value="456"/>
- <details key="end" value="475"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.16" references="/0/modArray">
- <details key="start" value="482"/>
- <details key="end" value="680"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.17" references="/0/modArray/propertyOrParameter">
- <details key="start" value="505"/>
- <details key="end" value="534"/>
- <details key="line" value="10"/>
- </eAnnotations>
- <eAnnotations source="positions.18" references="/0/modArray/%">
- <details key="start" value="548"/>
- <details key="end" value="677"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.19" references="/0/modArray/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.20" references="/0/modArray/%/%">
- <details key="start" value="555"/>
- <details key="end" value="603"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.21" references="/0/modArray/%/%.1">
- <details key="start" value="605"/>
- <details key="end" value="645"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.22" references="/0/modArray/%/%.2">
- <details key="start" value="647"/>
- <details key="end" value="676"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.23" references="/0/modArray/%/%.2/%/propertyOrParameter">
- <details key="start" value="656"/>
- <details key="end" value="675"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.24" references="/0/modConst">
- <details key="start" value="682"/>
- <details key="end" value="880"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.25" references="/0/modConst/propertyOrParameter">
- <details key="start" value="705"/>
- <details key="end" value="734"/>
- <details key="line" value="13"/>
- </eAnnotations>
- <eAnnotations source="positions.26" references="/0/modConst/%">
- <details key="start" value="748"/>
- <details key="end" value="877"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.27" references="/0/modConst/%/self">
- <details key="start" value="-1"/>
- <details key="end" value="-1"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.28" references="/0/modConst/%/%">
- <details key="start" value="755"/>
- <details key="end" value="803"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.29" references="/0/modConst/%/%.1">
- <details key="start" value="805"/>
- <details key="end" value="845"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.30" references="/0/modConst/%/%.2">
- <details key="start" value="847"/>
- <details key="end" value="876"/>
- <details key="line" value="0"/>
- </eAnnotations>
- <eAnnotations source="positions.31" references="/0/modConst/%/%.2/%/propertyOrParameter">
- <details key="start" value="856"/>
- <details key="end" value="875"/>
- <details key="line" value="0"/>
- </eAnnotations>
- </ecore:EAnnotation>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore"> + <mtl:Module name="Modifier" nsURI="org::eclipse::papyrus::cpp::codegen::utils::Modifier" startHeaderPosition="29" endHeaderPosition="86"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <ownedModuleElement xsi:type="mtl:Query" name="modPtr" visibility="Public"> + <parameter name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier"> + <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="modPtr(org.eclipse.uml2.uml.Element)"> + <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(Element)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modPtr/propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="modRef" visibility="Public"> + <parameter name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier"> + <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="modRef(org.eclipse.uml2.uml.Element)"> + <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(Element)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modRef/propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="modArray" visibility="Public"> + <parameter name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="/11"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier"> + <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="modArray(org.eclipse.uml2.uml.Element)"> + <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(Element)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modArray/propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="modConst" visibility="Public"> + <parameter name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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="/14"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.utils.Modifier"> + <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="modConst(org.eclipse.uml2.uml.Element)"> + <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(Element)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <item xsi:type="ocl.ecore:VariableExp" name="propertyOrParameter" referredVariable="/0/modConst/propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Real_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EObject_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </eAnnotations> + <eOperations name="modPtr"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/modPtr"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modRef"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/modRef"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modArray"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/modArray"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="modConst"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/modConst"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="propertyOrParameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eAnnotations> + <eOperations name="invoke"> + <eAnnotations source="MTL non-standard"/> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <eParameters name="class"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="method"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="arguments"> + <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <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" instanceClassName="java.util.List"> + <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/modPtr"> + <details key="start" value="90"/> + <details key="end" value="284"/> + <details key="line" value="4"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/modPtr/propertyOrParameter"> + <details key="start" value="111"/> + <details key="end" value="140"/> + <details key="line" value="4"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/modPtr/%"> + <details key="start" value="154"/> + <details key="end" value="281"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/modPtr/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/modPtr/%/%"> + <details key="start" value="161"/> + <details key="end" value="209"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/modPtr/%/%.1"> + <details key="start" value="211"/> + <details key="end" value="249"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/modPtr/%/%.2"> + <details key="start" value="251"/> + <details key="end" value="280"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/modPtr/%/%.2/%/propertyOrParameter"> + <details key="start" value="260"/> + <details key="end" value="279"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/modRef"> + <details key="start" value="286"/> + <details key="end" value="480"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/modRef/propertyOrParameter"> + <details key="start" value="307"/> + <details key="end" value="336"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/modRef/%"> + <details key="start" value="350"/> + <details key="end" value="477"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/modRef/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/modRef/%/%"> + <details key="start" value="357"/> + <details key="end" value="405"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/modRef/%/%.1"> + <details key="start" value="407"/> + <details key="end" value="445"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/modRef/%/%.2"> + <details key="start" value="447"/> + <details key="end" value="476"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/modRef/%/%.2/%/propertyOrParameter"> + <details key="start" value="456"/> + <details key="end" value="475"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/modArray"> + <details key="start" value="482"/> + <details key="end" value="680"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/modArray/propertyOrParameter"> + <details key="start" value="505"/> + <details key="end" value="534"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/modArray/%"> + <details key="start" value="548"/> + <details key="end" value="677"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/modArray/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/modArray/%/%"> + <details key="start" value="555"/> + <details key="end" value="603"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/modArray/%/%.1"> + <details key="start" value="605"/> + <details key="end" value="645"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/modArray/%/%.2"> + <details key="start" value="647"/> + <details key="end" value="676"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/modArray/%/%.2/%/propertyOrParameter"> + <details key="start" value="656"/> + <details key="end" value="675"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/modConst"> + <details key="start" value="682"/> + <details key="end" value="880"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/modConst/propertyOrParameter"> + <details key="start" value="705"/> + <details key="end" value="734"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/modConst/%"> + <details key="start" value="748"/> + <details key="end" value="877"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/modConst/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/modConst/%/%"> + <details key="start" value="755"/> + <details key="end" value="803"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/modConst/%/%.1"> + <details key="start" value="805"/> + <details key="end" value="845"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/modConst/%/%.2"> + <details key="start" value="847"/> + <details key="end" value="876"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/modConst/%/%.2/%/propertyOrParameter"> + <details key="start" value="856"/> + <details key="end" value="875"/> + <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/Modifier.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/Modifier.java index fdcbda4e65c..81389c8a0de 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/Modifier.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/Modifier.java @@ -15,6 +15,7 @@ import org.eclipse.papyrus.C_Cpp.Array; import org.eclipse.papyrus.C_Cpp.Const; import org.eclipse.papyrus.C_Cpp.Ptr; import org.eclipse.papyrus.C_Cpp.Ref; +import org.eclipse.papyrus.acceleo.GenUtils; import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils; import org.eclipse.uml2.uml.AggregationKind; import org.eclipse.uml2.uml.Element; |